彻底摆脱配置文件 一(开源项目zkconfigutil详解)

zkconfigutil介绍

    它只是个工具,用于实现分布式集群间配置项的管理,虽小,但很、灰常好用,easy play

    项目个性化地址http://jerrysearch.github.io/zkconfigutil/

代码实例

/**
 * just test
 * @author JERRY
 *
 */
@TypeZkConfigurable(path="/test/jerry", server="localhost:2181", useOwnZkServer=false)
public final class Demo {
	
	@FieldZkConfigurable(resove=DemoF1Resolve.class, dynamicUpdate=true)
	public static String F1 = "F1";
	
	@FieldZkConfigurable(resove=DemoF2Resolve.class, dynamicUpdate=true)
	public static String F2 = "F2";
	
	@FieldZkConfigurable(resove=DemoF3Resolve.class, dynamicUpdate=true)
	public static Boolean F3 = false;
}

public final class DemoF1Resolve extends AbstractResolve{

		@Override
		public String resolve() {
			// TODO Auto-generated method stub
			return Demo.F1;
		}

		@Override
		public void dResolve(String src) {
			// TODO Auto-generated method stub
			Demo.F1 = src;
		}
		
	}

    

详解

该Demo模拟集群环境,假入Demo用于工程公共配置管理,一般其会有比较多的字段,当前zkconfigutil版本只考虑可配置的字段的值均可以通过string表示,这样我们就可以通过eclipse zookeeer插件方便的实现可视化修改

如您所见,Demo中主要有两类注解,一个用于class,一个用于字段

@TypeZkConfigurable(path="/test/jerry", server="localhost:2181", useOwnZkServer=false)

该注解用于class主要有三个参数,path代表该配置在zookeeper上的根目录,一个配置项实际保存在zookeeper上的路径为/path/ClassSimpleName/FieldName,server代表使用的zookeeper地址,标准的zookeeper地址格式,useOwnZkServer表示是否使用自己指定的私有zookeeper,下面您会看到一个totalzookeeper,耐心往下看


@FieldZkConfigurable(resove=DemoF1Resolve.class, dynamicUpdate=true)

该注解用于field主要有两个参数,resove主要实现该字段的赋值操作,dynamicUpdate设置该字段是否需要动态更新,true时,zookeeper会对该路径添加dataListener,当zookeeper上值发生变更时,通过reslove实现字段的更新操作

您可能看到了,主要工作在于reslove的开发,但其实其只有两个方法,easy play


ZkConfigUtil app = new ZkConfigUtil("localhost:2181");
app.register(Demo.class, true);

so easy,两行代码实现Demo的zookeeper化,心动不如行动。game over!!!


description

    是的,这个工具其实是我写的,分享给大家,同时也希望大家多提提建议或意见,希望能将其开源,用在N多分布式系统上,所以您可以在https://github.com/jerrysearch/zkconfigutil/wiki 上fork该project,真心希望您能成为其中一员!!!


                                                                                                                                                                   此致,敬礼

jerry 于2014-02-18晚

转载于:https://my.oschina.net/jerrysearch/blog/200973

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值