Java 弹簧靴';s健康执行器-何时启动?
我找不到有关弹簧健康执行器何时返回启动状态的任何文档。您能依赖于初始化所有的Java 弹簧靴';s健康执行器-何时启动?,java,spring,actuator,Java,Spring,Actuator,我找不到有关弹簧健康执行器何时返回启动状态的任何文档。您能依赖于初始化所有的@组件吗?@Controller是否准备好为请求提供服务?为了测试应用程序上下文是否已加载,您可以执行此自定义实现 @EventListener-初始化上下文时,将触发用EventListener注释的方法 在下面的代码中,我在成功初始化时增加了计数器。当您点击执行器运行状况端点时,您将获得状态为UP 上下文初始化健康检查的示例实现:- @Component public class ApplicationContext
@组件吗?@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();
}
}
端点春季启动版本5:-
@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();
}
}
SpringActuator可以检查数据库、web服务端点、电子邮件服务器等。它可以提供作为应用程序一部分的所有这些资源的状态
自动配置的运行状况指示器检查数据库、jmx等。因此,您无法知道应用程序上下文何时已完全初始化?它主要用于端点和数据库。如果要检查应用程序上下文初始化,可以编写侦听器来检查。好的,谢谢!不过,在顶层有一个“状态”属性。这必须是广泛的应用-我想知道它告诉我们什么?{“status”:“UP”,…谢谢!请允许询问顶级“status:UP”是什么是用于?这是所有资源的聚合状态吗?我找不到任何关于此的文档。我将实际测试是否是这种情况。是的,这是聚合结果。谢谢-非常有用!仍然不确定Spring执行器如何在Spring应用程序上下文运行之前报告事情。应用程序上下文不应与可能是一个资源本身。我本来打算给我的RestController添加一个运行状况指示器,但因为它只是一个Spring bean,所以它只能在Spring应用程序运行时启动。到底应该为Spring bean添加一个运行状况检查吗?是的,我考虑过。在这种情况下,执行器应该单独运行。您可以使用propert配置服务器的ies.management.server.port:8080 management.server.address:localhost