java - Spring Boot 健康执行器 - 什么时候启动?

标签 java spring actuator

我找不到任何关于 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:-

http://localhost:8080/actuator/health

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

Some default health indicators available

关于java - Spring Boot 健康执行器 - 什么时候启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49169614/

相关文章:

java - 不修改Main方法java打印Hello World

java - Hibernate @Version - 命中数据库

java - Spring 3 的异常处理

java - @Transactional 不回滚

java - Spring Boot MVC 应用程序中的无效 session (注销)

java - 错误 401 - 浏览器中的 Spring Boot 执行器登录名/密码

java - 在liferay processAction方法中转发到JSp文件

java - 在java中从jar导入文件时出错

javascript - 如何让步进电机随时间转动360度?

spring - 如何禁用 Spring 启动执行器 Elasticsearch 健康请求?