Я хотел бы реализовать собственный класс конечной точки для проверки работоспособности Zookeeper:
http://localhost:8080/actuator/health/zookeeper
ПРОБЛЕМА. Должен ли я расширять AbstractHealthIndicaitor или реализовывать класс HealthIndicator?
Класс HealthIndicator
public class CustomHealth implements HealthIndicator {
@Override
public Health health() {
int errorCode = check(); // perform some specific health check
if (errorCode != 0) {
return Health.down()
.withDetail("Error Code", errorCode).build();
}
return Health.up().build();
}
public int check() {
// Our logic to check zookeeper health
return 0;
}
}
Класс AbstractHealthIndicator
public class CustomHealth extends AbstractHealthIndicator {
@Override
protected void doHealthCheck(Health.Builder builder) throws Exception
{
// Our logic to check zookeeper health
}
}
Я запутался, какой подход использовать. Я считаю, что логика проверки работоспособности зоопарка состоит в том, чтобы просто объявить объект CuratorFramework, затем выполнить curator.getState() и вернуть оттуда билдер, а для конечной точки прикрепить @RestControllerEndPoint, чтобы объявить путь. Пожалуйста помоги!