eclipse动态web项目xml出现红叉_configMenagement zookeeper的web在线管理工具

基于Zookeeper的工程文件管理配置中心

在大型集群和分布式应用中,配置不宜分散到集群结点中,或者工程数量较多管理混乱,这时配置应该集中管理,这个配置中心基于使用简单,功能完善为目标,是个轻量级的配置中心,当配置有变化了,无需重启服务,变化了的值会自动下发给各个在使用的服务上,配置数据存于本地缓存,因为是访问内存所以速度很快,有定时刷新缓存和动态监听值的变化来刷新缓存两种方式。同时通过缓存保证了程序运行中zk挂了也不影响服务运行,当然zk号称不会挂的。节点可使用安全性管理,一个用户创建的节点,只有授权的用户可以访问,只有这个用户有权限编辑修改(不过可以被任何人删除)。 工程有api和web管理界面组成,由java开发,maven编译,有任何疑问欢迎指正。

设计框架:springmvc、freemarker、bootstrap和zkclient

如果只想单独使用zookeeper管理工具,已分离成独立项目,请参照: http://git.oschina.net/hezui/ZookeeperManage

一、web管理界面(configWeb工程)

zookeeper的web在线管理界面,缓存加速,操作快捷,对节点采用树形文件管理,包含备份还原功能和节点安全处理。 注意要先编译configApi(eclipse需导入lombok支持,不然有报错)然后关闭此工程,再启动configWeb(utf-8编码)的服务。如果要使用节点安全性管理:请将配置文件config.properties中的配置设置为zookeeper.safe.permiss.open=true,默认值是false做普通web管理,设为true之后创建的节点需用户密码授权才能操作。

fed30ca9c39eac05b926ba09ca55e8f2.png
2dc828ed55f1fb1b3f07afaf14a2cf57.png
6d0413b42e64c78fe761584f4db205a5.png

二、本地编译好confiApi的工程后,就可以在工程中导入api使用:

1、maven包导入

com.zk.config.apiconfigApi0.0.1-SNAPSHOT

2、spring配置

3、接下来可以像spring导普通属性文件一样简洁的使用zookeeper上的配置数据了。 如:spring配置文件中的bean可以使用${user}这样的常规注入方式注入zk上的值,如下所示:

同样类文件中也可以这样注入

b10b6e219fc38b3e865e5ac992932068.png

注意:

1、普通注入的值是创建对象后一次性缓存的值,要使用监听的动态变化的值,请使用注入的Properties对象获取(如这里定义的configProperties),或者直接通过静态缓存对象获取ConfigClient.getPropertiesValue(key)。ConfigClient缓存对象是最早被初始化的静态对象,项目里的其他静态对象可以直接获取到相关的缓存内容,多个client的时候,key或者节点路径相同的则最后一个client的配置有效。

2、zookeeper上名称带.properties后缀的节点会自动识别成Properties文件,如果xml格式的properties文件可以在节点后加.properties后缀,支持识别,其他后缀的都做普通文件处理,通过ConfigClient.getFileValueByNodePath(nodePath)来获取节点文件内容,nodePath是节点的相对路径。

3、zookeeper上的节点名以log4j.properties为后缀的日志配置文件将会默认自动装载,如果是其他日志文件如log4j.xml,请把configClient对象的log4jPathName属性值设为该文件名,如果要取消自动装载,设空串,如:

4、以冒号(:)开头的节点或目录将自动映射到本地的classpath路径下,让工程运行时调用。

5、支持通过http请求获取配置数据,开放的api接口为: http://localhost:8080/configWeb/getConfigData

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值