knightliao / disconf

Distributed Configuration Management Platform(分布式配置管理平台)
http://disconf.readthedocs.io/
Apache License 2.0
5.56k stars 2.29k forks source link

Disconf的配置不能被注入Spring的environment #48

Open orika opened 8 years ago

orika commented 8 years ago

问题如题,有什么好的解决方法吗? 在Spring中直接使用@AutoWired Environment不能获取到disconf托管的配置

目前我是自己重写了Spring的PropertySourcesPlaceholderConfiguer,在加载disconf的配置时候注入Environment,不过这种方法也有缺陷,Environment的初始化在ApplicaitonEnvironmentPrepare的时候,早于Spring的Bean的初始化,这样会导致disconf的配置不能在Environment初始化的时候加载,一些依赖Environment的系统配置不能被加载,例如SpringBoot的server.port。

我的Spring版本是4.1.x,目前的解决方案是把Spring的application.properties放在本地,不使用discount托管!

kinble commented 7 years ago

想问一下,可以把重写PropertySourcesPlaceholderConfiguer的类贴出来吗? 还有其他的解决方案吗?