我想创建一个共享库,为我所有的 spring-boot Web 应用程序客户端提供默认配置。到目前为止,我已经成功地使用这个 SO answer创建了默认执行器配置。但是,我想提供以下三种配置:
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=MY-CLOUD-CONFIG-SERVER
spring.cloud.config.fail-fast=true
客户端也成功连接到 eureka,并且配置服务器已启动并运行。
我有以下设置,适用于执行器默认配置:
com.livanov.test.DefaultActuatorConfiguration.java
@PropertySource("classpath:default-actuator.properties")
public class DefaultActuatorConfiguration {
}
META-INF/spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.livanov.test.DefaultActuatorConfiguration
当我为spring.cloud.config.*
属性执行相同的类时,它不起作用。我还尝试在spring.factories 中将它们与org.springframework.cloud.bootstrap.BootstrapConfiguration
标记绑定,但这也不起作用。任何这些设置中的客户端都试图连接8888
到cloud-config
. 可能我错过了弹簧自动配置的动作顺序。
我也尝试添加
@Order(Integer.MIN_VALUE)
和
@AutoConfigureBefore({
ConfigServiceBootstrapConfiguration.class,
DiscoveryClientConfigServiceBootstrapConfiguration.class
})
但这些看起来都像黑客,实际上不起作用。