-
Notifications
You must be signed in to change notification settings - Fork 0
Home
凝雨 edited this page Jan 7, 2017
·
4 revisions
支持的disconf版本:2.6.32,其他版本没有测试过,为了避免为题最好使用2.6.32
disconf-client-ext增加了global的配置共享给所有的app,为什么要有公共共享的配置文件?
因为在app配置中有很多是公共的配置,如果没有global就需要在自己的app中配置这些配置信息,导致app中配置信息过多,公共的配置信息修改需要通知各业务app修改自己app中的配置,没有达到一处修改,各处使用的目标。
增加了global的支持后,app中的配置减少了,避免了一些由于配置导致的错误,也可以通过global的配置去规范统一app的公共配置,让业务开发不关心公共配置的细节,在使用的时候直接使用无需维护。
让自己的app支持global特性的改造步骤:
- 在pom中增加dependency
2.1. 替换class="com.baidu.disconf.client.DisconfMgrBean"为class="com.baidu.disconf.client.DisconfMgrBeanExt"
2.2. 替换class="com.baidu.disconf.client.DisconfMgrBeanSecond"为class="com.baidu.disconf.client.DisconfMgrBeanSecondExt"
2.3. 替换class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean"
为class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBeanExt"
2.4. 修改locations中配置文件,只保留项目自己的配置文件,例如:
<bean id="disconfNotReloadablePropertiesFactoryBean"
class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBeanExt">
<property name="locations">
<list>
<value>classpath:/jdbc.properties</value>
</list>
</property>
</bean>
-
关闭global共享配置(默认是开启的)
<bean id="disconfNotReloadablePropertiesFactoryBean"
class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBeanExt"> <property name="locations"> <list> <value>classpath:/jdbc.properties</value> </list> </property> <property name="globalShareEnable" value="false" />
-
业务无需关注global配置,配置后会自动引入配置文件
4.1. 自动加载的全局配置app:GLOBALPROP,版本:1.0.0,env:公用业务app的env
4.2. 有一个配置项:global ,值:所有global的文件以“,”分割,例如:global-dubbo.properties,global-redis.properties,global-zookeeper.properties
4.3. 其余都是配置文件,文件名称与配置项描述的名称一致,如果要添加配置文件,要记得在global配置项中的值后面追加文件名称
注意:以后业务app只需要关注项目特定的配置文件,例如:jdbc.properties,公共服务的配置统一走global。