3

我找不到任何关于 Springs Health Actuator 何时返回 UP 状态的文档。你能依赖所有@Components的初始化吗?@Controller准备好服务请求了吗?

4

1 回答 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:-

http://localhost:8080/actuator/health

Spring actuator 可以检查数据库、Web 服务端点、电子邮件服务器等。它可以提供所有这些资源的状态,这些资源是应用程序的一部分。

一些可用的默认健康指标

于 2018-03-09T14:12:24.010 回答