我找不到有关Springs Health Actuator何时返回UP状态的任何文档。您可以依赖所有 @Components
进行初始化吗? @Controller
是否准备好提供请求?
答案 0 :(得分:3)
为了测试是否加载了应用程序上下文,您可以执行此自定义实现。
@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执行器可以检查数据库,Web服务端点,电子邮件服务器等。它可以提供作为应用程序一部分的所有这些资源的状态。