SprinBoot集成disConf的过程梳理:
- 打开pom.xml文件,添加disconf-client的依赖关系,工程会自动下载Disconf客户端的jar包
<dependency>
<groupId>com.baidu.disconf</groupId>
<artifactId>disconf-client</artifactId>
<version>2.6.36</version>
</dependency>
- 创建spring-disconf.xml文件,让Spring管理Disconf管理器的Bean实例也可以用DisconfConfig类代替了spring-disconf.xml让Spring管理bean 该类用@Configuration注解从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,
<bean id="disconfMgrBean" class="com.baidu.disconf.client.DisconfMgrBean"
destroy-method="destroy">
<property name="scanPackage" value="com.example.demo.inst,com.example.demo.stc" />
</bean>
<bean id="disconfMgrBean2" class="com.baidu.disconf.client.DisconfMgrBeanSecond"
init-method="init" destroy-method="destroy">
</bean>
其中,属性“scanPackage”的值是“com.example.demo.inst,com.example.demo.stc”,
这里需要填写工程里需要扫描的Package名。“scanPackage”属性支持扫描多个包,使用逗号分隔
- 在启动类上配置读取xml的入口注解:
@SpringBootApplication
@ImportResource({"classpath:spring-disconf.xml"})
public class DisconfAtntDemoApplication {
public static void main(String[] args) {
SpringApplication.run(DisconfAtntDemoApplication.class, args);
}
}
- 创建disconf.properties文件,指定Disconf的一些配置,内容如下所示:
disconf.enable.remote.conf=true
disconf.conf_server_host=10.15.1.21:8080
disconf.version=1_0_0_0
disconf.app=disconf-atnt-demo
disconf.env=rd
disconf.ignore=
disconf.conf_server_url_retry_times=2
disconf.conf_server_url_retry_sleep_seconds=1
disconf.enable_local_download_dir_in_class_path=true