编程语言
首页 > 编程语言> > java-如何在Spring Boot Actuator中注册匿名HealthIndicators

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