Interface HealthCheckHandler

All Superinterfaces:
Handler<RoutingContext>

public interface HealthCheckHandler extends Handler<RoutingContext>
A Vert.x Web handler on which you register health check procedure. It computes the outcome status (`UP` or `DOWN`) . When the handler process an HTTP request, it computes the global outcome and build a HTTP response as follows:

  • 204 - status is `UP` but no procedures installed (no payload)
  • 200 - status is `UP`, the payload contains the result of the installed procedures
  • 503 - status is `DOWN`, the payload contains the result of the installed procedures
  • 500 - status is `DOWN`, the payload contains the result of the installed procedures, one of the procedure has failed
Author:
Clement Escoffier
  • Method Details

    • create

      static HealthCheckHandler create(Vertx vertx, AuthenticationProvider provider)
      Creates an instance of the default implementation of the HealthCheckHandler. This function creates a new instance of HealthChecks.
      Parameters:
      vertx - the Vert.x instance, must not be null
      provider - the Authentication provider used to authenticate the HTTP request
      Returns:
      the created instance
    • create

      static HealthCheckHandler create(Vertx vertx)
      Creates an instance of the default implementation of the HealthCheckHandler. This function creates a new instance of HealthChecks.
      Parameters:
      vertx - the Vert.x instance, must not be null
      Returns:
      the created instance
    • createWithHealthChecks

      static HealthCheckHandler createWithHealthChecks(HealthChecks hc, AuthenticationProvider provider)
      Creates an instance of the default implementation of the HealthCheckHandler.
      Parameters:
      hc - the health checks object to use, must not be null
      Returns:
      the created instance
    • createWithHealthChecks

      static HealthCheckHandler createWithHealthChecks(HealthChecks hc)
      Creates an instance of the default implementation of the HealthCheckHandler.
      Parameters:
      hc - the health checks object to use
      Returns:
      the created instance
    • register

      HealthCheckHandler register(String name, Handler<Promise<Status>> procedure)
      Registers a health check procedure.

      The procedure is a Handler taking a Promise of Status as parameter. Procedures are asynchronous, and must complete or fail the given Promise. If the future object is failed, the procedure outcome is considered as `DOWN`. If the future is completed without any object, the procedure outcome is considered as `UP`. If the future is completed with a (not-null) Status, the procedure outcome is the received status.

      This method uses a 1s timeout. To configure the timeout use register(String, long, Handler).

      Parameters:
      name - the name of the procedure, must not be null or empty
      procedure - the procedure, must not be null
      Returns:
      the current HealthCheckHandler
    • register

      HealthCheckHandler register(String name, long timeout, Handler<Promise<Status>> procedure)
      Registers a health check procedure.

      The procedure is a Handler taking a Promise of Status as parameter. Procedures are asynchronous, and must complete or fail the given Promise. If the future object is failed, the procedure outcome is considered as `DOWN`. If the future is completed without any object, the procedure outcome is considered as `UP`. If the future is completed with a (not-null) Status, the procedure outcome is the received status.

      Parameters:
      name - the name of the procedure, must not be null or empty
      timeout - the procedure timeout
      procedure - the procedure, must not be null
      Returns:
      the current HealthCheckHandler
    • unregister

      HealthCheckHandler unregister(String name)
      Unregisters a procedure.
      Parameters:
      name - the name of the procedure
      Returns:
      the current HealthCheckHandler
    • resultMapper

      HealthCheckHandler resultMapper(Function<CheckResult, Future<CheckResult>> resultMapper)
      Sets a function which will be invoked before the CheckResult gets written to clients.
      Parameters:
      resultMapper - the Function used to manipulate the CheckResult, null means no result mapper function enabled.
      Returns:
      the current HealthCheckHandler