我想创建一个共享库,为所有我的spring-boot Web应用程序客户端提供默认配置。到目前为止,我已经能够成功使用this 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.*
属性使用相同的类时,它不起作用。我还尝试使用org.springframework.cloud.bootstrap.BootstrapConfiguration
标记将它们绑定在 spring.factories 中,但这也不起作用。这些设置中的任何一个客户端都试图连接到默认的8888
端口cloud-config
。可能我错过了弹簧自动配置的动作顺序。
我也尝试添加
@Order(Integer.MIN_VALUE)
和
@AutoConfigureBefore({
ConfigServiceBootstrapConfiguration.class,
DiscoveryClientConfigServiceBootstrapConfiguration.class
})
但是它们看上去都像黑客一样,实际上是行不通的。