apollo 配置spring-boot-starter-data-elasticsearch,读不到配置文件,Redis没有问题,
最后发现是ElasticsearchAutoConfiguration 是有配置ConditionalOnProperty
@Configuration @ConditionalOnClass({Client.class, TransportClientFactoryBean.class}) @ConditionalOnProperty( prefix = "spring.data.elasticsearch", name = {"cluster-nodes"}, matchIfMissing = false ) @EnableConfigurationProperties({ElasticsearchProperties.class}) public class ElasticsearchAutoConfiguration {
官方说明如下
Spring Boot除了支持上述两种集成方式以外,还支持通过application.properties/bootstrap.properties来配置,该方式能使配置在更早的阶段注入,比如使用@ConditionalOnProperty
的场景或者是有一些spring-boot-starter在启动阶段就需要读取配置做一些事情(如dubbo-spring-boot-project),所以对于Spring Boot环境建议通过以下方式来接入Apollo(需要0.10.0及以上版本)。
使用方式很简单,只需要在application.properties/bootstrap.properties中按照如下样例配置即可。
- 注入默认
application
namespace的配置示例
# will inject 'application' namespace in bootstrap phase apollo.bootstrap.enabled = true
- 注入非默认
application
namespace或多个namespace的配置示例
apollo.bootstrap.enabled = true # will inject 'application', 'FX.apollo' and 'application.yml' namespaces in bootstrap phase apollo.bootstrap.namespaces = application,FX.apollo,application.yml
网址: