Привод здоровья Spring Boot - КОГДА это UP?
Я не могу найти документацию о том, когда Springs Health Actuator вернет статус UP. Можете ли вы положиться на все @Components
инициализируется? Будет @Controller
быть готовым обслуживать запросы?
1 ответ
Чтобы проверить, загружен ли контекст приложения, вы можете выполнить эту пользовательскую реализацию.
@EventListener
- Метод, аннотированный с помощью EventListener, запускается при инициализации контекста.
В приведенном ниже коде я увеличил счетчик при успешной инициализации. Когда вы нажмете на конечную точку исправности привода, вы получите статус UP.
Пример реализации для проверки работоспособности инициализации контекста:
@Component
public class ApplicationContextHealthIndicator implements HealthIndicator {
private final Logger LOG = Logger.getLogger(getClass().getName());
public static int counter;
@EventListener
public void onApplicationEvent(ContextRefreshedEvent event) {
LOG.info("Increment counter :" + counter);
counter++;
}
@Override
public Health health() {
if (counter == 0) {
return Health.down().withDetail("Error Code", 500).build();
}
return Health.up().build();
}
}
Конечная точка Spring загрузочная версия 5:-
Spring Actator может проверять базу данных, конечные точки веб-службы, сервер электронной почты и т. Д. Он может предоставлять статус для всех этих ресурсов, которые являются частью приложения.