Quarkus HealthCheck

Вот моя проверка работоспособности базы данных:

@Readiness
@ApplicationScoped
@Slf4j
public class DatabaseConnectionHealthCheck implements HealthCheck {

    @Inject
    PgPool pgPool;

    @Override
    public HealthCheckResponse call() {
        final HealthCheckResponseBuilder responseBuilder = HealthCheckResponse.named("Database connection health check");

        try {
            pgPool.getConnection().await().indefinitely();
            log.info("Database Connection Health Check - Success");
            responseBuilder.up();

        } catch( CompletionException e ){
            log.info("Database Connection Health Check - Failure - Cause {}", e.getMessage());
            responseBuilder
                    .down()
                    .withData(
                            "Cause",
                            e.getMessage()
                    );
        }
        return responseBuilder.build();
    }
}

Проблема в том, что do .await(). Indefinenty(), и я не хочу этого (io.vertx.core.VertxException: поток заблокирован)

Как responseBuiler.up() реагировать / подписываться?

Благодарность

0 ответов

Другие вопросы по тегам