最近,由于公司使用了Apollo配置中心用于管理配置文件信息,所以渐渐的也就得心应手了。
然而在一次新的项目中使用Apollo配置中心时,以往每次百试百灵的动态刷新配置却失效了,不仅ConfigurationProperties无法动态刷新,就连@Value 中的参数也无法动态刷新。然后我便开始了我的问题排查之旅,首先从Apollo配置开始查起是否,配置不对,给的端口不对? 发现并没有什么问题。。。然后检查代码是否有问题。。发现也没问题!最后检查依赖。。。真是一个个排查啊
最终。。。。(划重点了 童鞋们)发现了问题
在这次的项目中和以往的不同的是,使用了jasypt-spring-boot-starter 这个东西,这个是用于配置加密的东西,想了解的可以点击链接查看具体作用https://www.jianshu.com/p/4c7b38ac66f9
就是这个包与Apollo冲突了,而且更神奇的是如果使用jasypt-spring-boot-starter的就不能使用超过2.0的版本,否则就会导致Apollo无法动态刷新。只能使用2.0及以下的版本,同时如果使用1.8版本的话又会导致无法和springcloud 2.0以上的版本兼容。所以最后如果要使用这个包来进行加密的话,建议采用2.0版本的就好了。