Spring boot 带有Spring Boot Actuator的多个数据源bean';端点是否可以自动配置?
我有一个spring boot应用程序,它使用了几个Spring boot 带有Spring Boot Actuator的多个数据源bean';端点是否可以自动配置?,spring-boot,Spring Boot,我有一个spring boot应用程序,它使用了几个数据源bean,并且仍然希望使用spring boot actuator中的端点自动配置,该配置作为使用@EnableAutoConfiguration注释的一部分加载。这似乎不可能,因为有一个DataSourcebean注入EndpointAutoConfiguration来设置HealthEndpointbean。由于我的应用程序中存在多个DataSource实例,除非排除EndpointAutoConfiguration,否则在应用程序启
数据源
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
中的嵌套类可能更好,我更愿意使用@条件
来排除它和/或使用现有健康指标中的所有可用数据源。