Получено исключение в предложении проверки работоспособности БД в приложении Helidon

#postgresql #health-check #helidon

#postgresql #проверка работоспособности #helidon

Вопрос:

Я обновил свой образец приложения до Helidon SE 2.1, и есть инструкция ping для проверки работоспособности БД:

 db:
 statement:
   ping: "select 1" 
 

И я использую Postgres для целей тестирования.

Но сейчас это не сработало. Я получил исключение при доступе к /health конечной точке.

 {"ErrorClass":"java.util.concurrent.CompletionException",
"ErrorMessage":"org.postgresql.util.PSQLException: A result was returned when none was expected."}
 

Ответ №1:

По умолчанию Ping ожидает оператор DML. Попробуйте

 DbClientHealthCheck.builder(dbClient)
        .query()
        .statementName("ping")
        .build();
 

для инициализации проверки работоспособности.

Кроме того, это будет изменено в 2.3.0, см. https://github.com/oracle/helidon/pull/2656

Комментарии:

1. Я надеюсь, что Helidon сможет стабилизировать API, насколько это возможно, при каждом обновлении я буду получать некоторые неработающие изменения.