Spring PropertyPlaceholderConfigurer配置文件加载器集成ZooKeeper来实现远程配置读取

说明:

       通常项目中会通过PropertyPlaceholderConfigurer加载properties中的配置信息。前几天 被人问到Spring如何加载ZooKeeper中的信息时一脸茫然。看了几篇博文后记录一下过程,并附上测试代码。

环境:

       操作系统:windows7

       开发工具:idea 14

       软件项目管理工具:maven

       项目依赖:comm-lang、spring3.2.4、junit4、hamcrest、zookeeper、curator

过程描述:

      1.下载Zookeeper

          下载地址:http://apache.mirrors.ionfish.org/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz
       2.修改Zookeeper配置文件

          将zoo_sample.cfg改名为zoo.cfg

          并将其中的dataDir改为本机地址,如:dataDir=E:\soft\zookeeper-3.3.6\dataDir

       3.启动Zookeeper

          运行服务端:%ZooKeeper_Home%/bin/zkServer.cmd

          运行客户端:%ZooKeeper_Home%/bin/zkClil.cmd

       4.添加数据

        

[zk: localhost:2181(CONNECTED) 17] create /cfg -
created /cfg

[zk: localhost:2181(CONNECTED) 17] create /cfg/properties jdbc.driver=org.mysql.
driver
created /cfg/properties 

[zk: localhost:2181(CONNECTED) 17] get /cfg/properties
jdbc.driver=org.mysql.driver
cZxid = 0x7a
ctime = Mon May 25 18:01:59 CST 2015
mZxid = 0x7a
mtime = Mon May 25 18:01:59 CST 2015
pZxid = 0x7a
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 28
numChildren = 0

        5.将附件中的代码导入到idea中运行startup.java或ZookeeperConfigTest.java

不足:

对于zookeeper中的配置信息,如何在被Spring加载后又修改了,如何重新载入本人还没找到好的办法

参考:

Spring PropertyPlaceholderConfigurer配置文件加载器集成ZooKeeper来实现远程配置读取。
http://www.big-mouth.cn/blog/65.html

读取WEB-INF 下applicationContext.xml配置文件的信息方法
http://blog.sina.com.cn/s/blog_5d7dbcef0100tuqn.html


用spring 配置加载properties文件的时候,报Could not resolve placeholder 错误。
解决参考:http://blog.163.com/wf_shunqiziran/blog/static/176307209201282755010505/

      

猜你喜欢

转载自wokeke.iteye.com/blog/2214113