@ExperimentalApi(value="https://github.com/grpc/grpc-java/issues/4696") public final class HealthStatusManager extends Object
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
.
Modifier and Type | Field and Description |
---|---|
static String |
SERVICE_NAME_ALL_SERVICES
The special "service name" that represent all services on a GRPC server.
|
Constructor and Description |
---|
HealthStatusManager()
Creates a new health service instance.
|
Modifier and Type | Method and Description |
---|---|
void |
clearStatus(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.
|
BindableService |
getHealthService()
Gets the health check service created in the constructor.
|
void |
setStatus(String service,
HealthCheckResponse.ServingStatus status)
Updates the status of the server.
|
public static final String SERVICE_NAME_ALL_SERVICES
public HealthStatusManager()
public BindableService getHealthService()
public void setStatus(String service, HealthCheckResponse.ServingStatus status)
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.status
- is one of the values HealthCheckResponse.ServingStatus.SERVING
,
HealthCheckResponse.ServingStatus.NOT_SERVING
and HealthCheckResponse.ServingStatus.UNKNOWN
.public void clearStatus(String service)
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.public void enterTerminalState()