zkconfigutil怎么使用

66次阅读
没有评论

共计 1756 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要讲解了“zkconfigutil 怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“zkconfigutil 怎么使用”吧!

zkconfigutil 介绍

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

代码实例

/**
 * 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 化。

感谢各位的阅读,以上就是“zkconfigutil 怎么使用”的内容了,经过本文的学习后,相信大家对 zkconfigutil 怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1756字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)