gpt4 book ai didi

spring - 不监视特定数据源以进行健康检查

转载 作者:行者123 更新时间:2023-12-03 21:38:45 25 4
gpt4 key购买 nike

我想知道是否存在某种方式来禁用 SpringBoot Actuator 对特定数据源的监视。

场景:
一个微服务使用 3 个数据源,但由于某些业务原因,其中一个数据源,没有必要被 Spring Boot Health Indicator 监控。

如何禁用对特定数据源的监控?

提前谢谢了

胡安安东尼奥

最佳答案

我认为您必须禁用默认数据源运行状况指示器,您可以使用此属性执行此操作:

management.health.db.enabled=false

然后配置您自己的健康指标,仅针对您感兴趣的数据源,可能是这样的:
@Autowired
private DataSource dataSourceA;

@Autowired
private DataSource dataSourceB;

@Bean
public DataSourceHealthIndicator dataSourceHealthIndicatorA() {
return new DataSourceHealthIndicator(dataSourceA);
}

@Bean
public DataSourceHealthIndicator dataSourceHealthIndicatorB() {
return new DataSourceHealthIndicator(dataSourceB);
}

或者,也可以通过扩展 AbstractHealthIndicator 来编写自己的“多数据源运行状况指示器”。并只注入(inject) Datasources您对监控感兴趣。 HealthIndicator 类型的任何 Spring bean将自动注册到 health执行器,因此您只需让 Spring 创建您的自定义 HealthIndicator它将被执行器暴露出来。

作为背景,您可以查看 Spring 如何配置默认数据源健康检查: org.springframework.boot.actuate.autoconfigure.DataSourcesHealthIndicatorConfiguration .

关于spring - 不监视特定数据源以进行健康检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46746784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com