我找不到任何关于 Springs Health Actuator 何时返回 UP 状态的文档。你能依赖所有@Components
的初始化吗?@Controller
准备好服务请求了吗?
问问题
4887 次
1 回答
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 actuator 可以检查数据库、Web 服务端点、电子邮件服务器等。它可以提供所有这些资源的状态,这些资源是应用程序的一部分。
于 2018-03-09T14:12:24.010 回答