Class HealthStatusManager


  • @ExperimentalApi("https://github.com/grpc/grpc-java/issues/4696")
    public final class HealthStatusManager
    extends java.lang.Object
    A HealthStatusManager object manages a health check service. A health check service is created in the constructor of HealthStatusManager, and it can be retrieved by the getHealthService() method. The health status manager can update the health statuses of the server.

    The default, empty-string, service name, SERVICE_NAME_ALL_SERVICES, is initialized to HealthCheckResponse.ServingStatus.SERVING.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String SERVICE_NAME_ALL_SERVICES
      The special "service name" that represent all services on a GRPC server.
    • Constructor Summary

      Constructors 
      Constructor Description
      HealthStatusManager()
      Creates a new health service instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clearStatus​(java.lang.String service)
      Clears the health status record of a service.
      void enterTerminalState()
      enterTerminalState causes the health status manager to mark all services as not serving, and prevents future updates to services.
      io.grpc.BindableService getHealthService()
      Gets the health check service created in the constructor.
      void setStatus​(java.lang.String service, HealthCheckResponse.ServingStatus status)
      Updates the status of the server.
      • Methods inherited from class java.lang.Object

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

      • SERVICE_NAME_ALL_SERVICES

        public static final java.lang.String SERVICE_NAME_ALL_SERVICES
        The special "service name" that represent all services on a GRPC server. It is an empty string.
        See Also:
        Constant Field Values
    • Constructor Detail

      • HealthStatusManager

        public HealthStatusManager()
        Creates a new health service instance.
    • Method Detail

      • getHealthService

        public io.grpc.BindableService getHealthService()
        Gets the health check service created in the constructor.
      • clearStatus

        public void clearStatus​(java.lang.String service)
        Clears the health status record of a service. The health service will respond with NOT_FOUND error on checking the status of a cleared service.
        Parameters:
        service - the name of some aspect of the server that is associated with a health status. This name can have no relation with the gRPC services that the server is running with. It can also be an empty String "" per the gRPC specification.
      • enterTerminalState

        public void enterTerminalState()
        enterTerminalState causes the health status manager to mark all services as not serving, and prevents future updates to services. This method is meant to be called prior to server shutdown as a way to indicate that clients should redirect their traffic elsewhere.