这几天在用Apollo搞分布式配置管理,试了下普通的配置是可以实时生效的,但是例如数据库相关的配置修改了却无效。查了下github上也有人问到的。官方回复如下:
- API方式获取的配置,实时更新
@Value
方式注入的配置,实时更新@ConfigurationProperties
方式注入的配置,启动时注入,后续需要重新注入的话,需要自己处理一下,可以使用RefreshScope,也可以使用EnvironmentChangeEvent- 数据源、zookeeper这类有状态的组件,需要自己监听配置变化,在配置变化时重连远端的数据库或zk,可以参考dynamic-datasource
- 日志级别也是类似的,可以参考spring-cloud-logger