Spring boot 带有Spring Boot Actuator的多个数据源bean';端点是否可以自动配置?

Spring boot 带有Spring Boot Actuator的多个数据源bean';端点是否可以自动配置?,spring-boot,Spring Boot,我有一个spring boot应用程序,它使用了几个数据源bean,并且仍然希望使用spring boot actuator中的端点自动配置,该配置作为使用@EnableAutoConfiguration注释的一部分加载。这似乎不可能,因为有一个DataSourcebean注入EndpointAutoConfiguration来设置HealthEndpointbean。由于我的应用程序中存在多个DataSource实例,除非排除EndpointAutoConfiguration,否则在应用程序启

我有一个spring boot应用程序,它使用了几个
数据源
bean,并且仍然希望使用spring boot actuator中的
端点自动配置
,该配置作为使用
@EnableAutoConfiguration
注释的一部分加载。这似乎不可能,因为有一个
DataSource
bean注入
EndpointAutoConfiguration
来设置
HealthEndpoint
bean。由于我的应用程序中存在多个
DataSource
实例,除非排除
EndpointAutoConfiguration
,否则在应用程序启动时会抛出一个
NoniqueBeandDefinitionException
,但随后我必须手动设置所有其他端点(/env、/metrics等)


有更好的方法吗?

你可以将你的一个
数据源标记为
@Primary
,或者你可以提供你自己的
HealthIndicator
(想要你的
数据源
的不是端点,而是这个bean,它被设计成只需添加一个你自己的数据源即可覆盖)。

嗨,Dave。我已经在配置我自己的
HealthIndicator
。但是,由于
EndpointAutoConfiguration
的第78行
@Autowired
中的
数据源
仍然引发异常。似乎将一个标记为
@Primary
是在没有对Spring Boot进行代码更改的情况下执行此操作的唯一方法,对吗?对。如果你想做出改变,那就去做吧
@Primary
不应该对已经使用2个
数据源的应用程序有任何副作用。好的,没问题
@Primary
不会引起任何副作用。项目是否有兴趣使用
健康指标自动配置
来实例化
健康指标
,就像现在在
端点自动配置
中所做的那样?这将允许处于我位置的人在
@EnableAutoConfiguration
注释中简单地排除该类。如果你认为它会被接受,我会继续提交请求。项目会感兴趣的。但在我看来,将其作为
EndpointAutoConfuguration
中的嵌套类可能更好,我更愿意使用
@条件
来排除它和/或使用现有健康指标中的所有可用
数据源。