java-如何在Spring Boot Actuator中注册匿名HealthIndicators
作者:互联网
该链接writing_custom_healthindicators描述了如何注册自定义HealthIndicators,以便它们可以与Spring Boot Actuator一起使用.链接中的示例使用@Component注册实现HealthIndicator接口的自定义类.
但是我正在创建匿名HealthIndicator实例.以下是如何创建这些匿名HealthIndicators实例的示例.
HealthIndicator healthIndicator = () -> {
Health h;
//custom code to instantiate Health object.
return h;
};
//how to register h with Spring?
可以说,上面的代码在for循环中,其中正在创建许多HealthIndicators.如何在Spring中注册它们,以便Spring Boot Actuator如链接中所述识别它们?
解决方法:
一种方法是像这样提供自定义HealthEndpoint
:
@Configuration
class HealthConfig {
@Bean
HealthEndpoint healthEndpoint(Map<String, HealthIndicator> defaultIndicators){
for(int i=0;i<10;i+=1){
defaultIndicators.put("custom_indicator_" + i, ()-> Health.down().build());
}
return new HealthEndpoint(new OrderedHealthAggregator(), defaultIndicators);
}
}
标签:spring-boot-actuator,spring-boot,spring,java 来源: https://codeday.me/bug/20191118/2029937.html