Class HikariHealthCheck

  • All Implemented Interfaces:
    ratpack.health.HealthCheck

    public abstract class HikariHealthCheck
    extends java.lang.Object
    implements ratpack.health.HealthCheck
    Reports on the health of HikariCP JDBC connection pool.
    
     import com.zaxxer.hikari.pool.HikariPool;
     import ratpack.guice.Guice;
     import ratpack.health.HealthCheckHandler;
     import ratpack.hikari.HikariHealthCheck;
     import ratpack.hikari.HikariModule;
     import ratpack.test.embed.EmbeddedApp;
    
     import javax.inject.Inject;
    
     import static org.junit.Assert.assertEquals;
    
     public class Example {
    
       public static void main(String... args) throws Exception {
         EmbeddedApp.of(s -> s
           .registry(Guice.registry(b -> b
             .module(HikariModule.class, hikariConfig -> {
               hikariConfig.setDataSourceClassName("org.h2.jdbcx.JdbcDataSource");
               hikariConfig.addDataSourceProperty("URL", "jdbc:h2:mem:dev"); // Use H2 in memory database
             })
    
             .bind(MyHealthCheck.class)
           ))
           .handlers(chain -> chain
             .get("health-checks", new HealthCheckHandler())
           )
         ).test(httpClient -> assertEquals("my-health-check : HEALTHY", httpClient.getText("health-checks")));
       }
    
       static class MyHealthCheck extends HikariHealthCheck {
    
         private HikariPool hikariPool;
    
         {@literal @}Inject
         MyHealthCheck(HikariPool hikariPool) {
           this.hikariPool = hikariPool;
         }
    
         {@literal @}Override
         public String getName() {
           return "my-health-check";
         }
    
         {@literal @}Override
         public HikariPool getHikariPool() {
           return hikariPool;
         }
       }
     }
     
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface ratpack.health.HealthCheck

        ratpack.health.HealthCheck.Result
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      ratpack.exec.Promise<ratpack.health.HealthCheck.Result> check​(ratpack.registry.Registry registry)  
      abstract com.zaxxer.hikari.pool.HikariPool getHikariPool()  
      java.lang.String getName()  
      java.time.Duration getTimeout()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • HikariHealthCheck

        public HikariHealthCheck()
    • Method Detail

      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface ratpack.health.HealthCheck
      • getTimeout

        public java.time.Duration getTimeout()
      • getHikariPool

        public abstract com.zaxxer.hikari.pool.HikariPool getHikariPool()
      • check

        public ratpack.exec.Promise<ratpack.health.HealthCheck.Result> check​(ratpack.registry.Registry registry)
        Specified by:
        check in interface ratpack.health.HealthCheck