禁用自定义运行状况检查端点

时间:2020-07-27 14:08:32

标签: java spring spring-boot

SpringBoot提供了一种类似于下面的禁用健康检查端点的方法

management.health.mongo.enabled=false

是否可以禁用通过实施HealthIndicator接口创建的自定义健康检查终结点?

2 个答案:

答案 0 :(得分:1)

您能否提供有关如何实现自定义端点的代码段? 也许@ConditionalOnProperty可以按照@Seb的建议提供帮助。看看这个: https://stackoverflow.com/a/26403131/4875624

答案 1 :(得分:1)

以mongo健康指标为例:

它在类org.springframework.boot.actuate.autoconfigure.mongo.MongoHealthIndicatorAutoConfiguration中定义(请参见source-code

并且看起来像带有自定义条件的常规配置:

@ConditionalOnEnabledHealthIndicator("mongo")

现在,这是内部弹簧启动执行器的注释,基本上是属性的自定义条件,

由于您的自定义健康检查本身就是一个bean,因此只要有一个属性,就使用此条件(@ConditionalOnEnabledHealthIndicator("whatever"))注册它不会选择您的健康检查:

management.health.whatever.enabled=false

如果您想要不符合此标准的自定义属性,则可以使用@ConditionalOnProperty,如此处其他人所建议的那样。