Quarkus HealthCheck - PullRequest
       91

Quarkus HealthCheck

1 голос
/ 30 апреля 2020

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

@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();
    }
}

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

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

Спасибо

...