配置中心集成文档

在 manage-web 工程里,我们已经使用分布式配置进行管理,项目中的properties文件存储在分布式服务器,以下介绍集成的步骤。


step 1: 在spring配置文件中,新增并修改(scanPackage,property_list)以下配置:

<!-- 使用disconf必须添加以下配置 -->
    <bean id="disconfMgrBean" class="com.baidu.disconf.client.DisconfMgrBean"
          destroy-method="destroy">
        <!-- 一定注意修改这里扫描包的路径-->
        <property name="scanPackage" value="com.gaosi"/>
    </bean>

    <bean id="disconfMgrBean2" class="com.baidu.disconf.client.DisconfMgrBeanSecond"
          init-method="init" destroy-method="destroy">
    </bean>

    <!-- 使用托管方式的disconf配置(无代码侵入, 配置更改不会自动reload)-->
    <bean id="configproperties_no_reloadable_disconf"
          class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>application-config.properties</value>
                <value>disconf.properties</value>
                <value>log4j.properties</value>
                <value>mail.properties</value>
                <value>messages_zh_CN.properties</value>
                <value>prop.properties</value>
                <value>redis.properties</value>
            </list>
        </property>
    </bean>

    <bean id="propertyConfigurerForManageWeb"
          class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="ignoreResourceNotFound" value="false"/>
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
        <property name="propertiesArray">
            <list>
                <ref bean="configproperties_no_reloadable_disconf"/>
            </list>
        </property>
    </bean>

step 2 引入依赖:

com.baidu.disconf
disconf-client
2.6.36


step 2:备份(dev,test,pre,pro)各个环境的配置文件(很重要)


step 3:删除各个环境的resource里的所有properties文件


step 4:在各个环境新增配置文件 disconf.properties(参考manage-web项目),配置如下:

# 是否开启配置中心管理
disconf.enable.remote.conf=true

#配置中心服务器地址
disconf.conf_server_host=192.168.0.238:80

# 当前配置文件的版本号
disconf.version=1_0_0_0

# 定义此项目的app名字
disconf.app=aixuexi_manage_web

# 配置文件的环境
disconf.env=dev

# 忽略的文件列表
disconf.ignore=

# 重试次数
disconf.conf_server_url_retry_times=1
# 重试间隔时间
disconf.conf_server_url_retry_sleep_seconds=1

# 从配置中心download下来的配置文件存放地址
disconf.user_define_download_dir=./src/main/dev

step 5: 访问配置中心本地测试的地址,上传dev下所有的properties文件到dev的环境,需要对应disconf中的(disconf.app、disconf.env、disconf.version)

地址: http://192.168.0.238/
用户名: admin
密码: 123456

step 6: 在本地启动项目,选择dev环境,看运行是否正常。


step 7: 在gitignore中添加配置(避免properties文件被提交到仓库):

*.properties
*.lock
!disconf.properties

step 8: 将其他环境(onlinetest,pre,pro)的配置文件,并且附带(disconf.app、disconf.env、disconf.version)信息,邮件发送给OP,OP负责把配置文件上传到线上的配置中心。


step 9: 集成完毕!

发表评论

电子邮件地址不会被公开。 必填项已用*标注