View Javadoc
1   package de.dlr.shepard.common.healthz;
2   
3   import jakarta.enterprise.context.ApplicationScoped;
4   import jakarta.inject.Inject;
5   import jakarta.persistence.EntityManager;
6   import org.eclipse.microprofile.health.HealthCheck;
7   import org.eclipse.microprofile.health.HealthCheckResponse;
8   import org.eclipse.microprofile.health.Readiness;
9   
10  @Readiness
11  @ApplicationScoped
12  public class TimescaleDBHealthCheck implements HealthCheck {
13  
14    @Inject
15    EntityManager entityManager;
16  
17    @Override
18    public HealthCheckResponse call() {
19      try {
20        entityManager.createNativeQuery("SELECT 1").getSingleResult();
21        return HealthCheckResponse.up("TimescaleDB connection health check");
22      } catch (Exception e) {
23        return HealthCheckResponse.down("TimescaleDB connection health check");
24      }
25    }
26  }