Bootstrap配置属性
- 调整Bootstrap配置文件路径
- 覆盖远程配置文件属性
- 自定义Bootstrap配置
- 自定义Bootstrap配置属性源
Bootstrap配置
参考BootstrapApplicationListener实现
Bootstrap配置文件
String configName = environment.resolvePlaceholders("${spring.cloud.bootstrap.name:bootstrap}");
当spring.cloud.bootstrap.name存在时,使用该配置,否则,使用“bootstrap”作为默认。
## application.properties
##通过调整 spring.cloud.bootstrap.enabled=false,尝试关闭bootstrap上下文
##实际测试结果,没有效果
spring.cloud.bootstrap.enabled=false
##关闭env安全
endpoints.env.sensitive=false
注意:BootstrapApplicationListener加载实际早于configFileApplicationListener
原因是:
ConfigFileApplicationListener的Order= Ordered.HIGHEST_PRECEDENCE+10(第十一位)
BootstrapApplicationListener的Order = Ordered.HIGHEST_PRECEDENCE+5(第六位)
如果需要调整控制Bootstrap上下文行为配置,需要更高优先级,也就是说Order需要小于Ordered.HIGHEST_PRECEDENCE+5(越小越优先),比如使用程序启动参数:
--spring.cloud.bootstrap.enabld = true
调整Bootstrap配置
调整程序启动参数
--spring.cloud.bootstrap.name=spring-cloud
bootstrap配置文件名称发生了改变“spring-cloud”,意味着有三个文件:
-
application.properties
- spring.application.name=spring-cloud-config-client
-
bootstrap.properties
- spring.application.name=spring-cloud-config-client-demo
-
spring-cloud.properties
- spring.application.name=spring-cloud
运行结果(部分):
- spring.application.name=spring-cloud
调整Bootstrap配置文件路径
保留配置文件名称 程序启动参数:
--spring.cloud.bootstrap.name=spring-cloud
调整bootstrap配置文件路径启动参数:
--spring.cloud.bootstrap.location=config
现有四个文件:
-
application.properties
- spring.application.name=spring-cloud-config-client
-
bootstrap.properties
- spring.application.name=spring-cloud-config-client-demo
-
spring-cloud.properties
- spring.application.name=spring-cloud
-
config/spring-cloud.properties 放在resources/config文件夹下
- spring.application.name=spring-cloud-2
实际结果
- spring.application.name=spring-cloud-2