我找不到任何关于 Springs Health Actuator 何时返回 UP 状态的文档。你能相信所有 @Components
都被初始化了吗? @Controller
是否准备好处理请求?
最佳答案
为了测试应用程序上下文是否加载,您可以执行此自定义实现。
@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 actuator 可以检查数据库、web 服务端点、电子邮件服务器等。它可以提供作为应用程序一部分的所有这些资源的状态。
关于java - Spring Boot 健康执行器 - 什么时候启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49169614/