Zookeeper之Curator(1)客户端对节点的一些监控事件的api使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Zookeeper之Curator(1)客户端对节点的一些监控事件的api使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1943字,纯文字阅读大概需要3分钟。
内容图文
![Zookeeper之Curator(1)客户端对节点的一些监控事件的api使用](/upload/InfoBanner/zyjiaocheng/1058/36f5c6a21ebb46199e58eae8a1f50329.jpg)
《一》节点改变事件的监听
![技术分享](/img/jia.gif)
![技术分享](/img/jian.gif)
1 public class CauratorClientTest { 2 3 // 链接地址 4 private static String zkhost="172.19.27.246:2181"; 5//sessionTimeoutMs会话超时时间,单位为毫秒。默认是60000ms 6privatestaticint sessionTimeoutMs=5000; 7//connectionTimeoutMs连接创建超时时间,单位毫秒,默认15000ms 8privatestaticint connectionTimeOutMs=3000; 9//重连策略10privatestaticint maxRetries; 11// zookeeper连接间隔时间基数12privatestaticint baseSleepTimeMs=1000; 13//系统域dev,qa,pro14privatestatic String domain="dev"; 151617/**18 * 数据节点被改变的事件。能监听节点存储的数据发生变化,和节点被删除的事件。 19 * 节点被删除后,会调用回调方法。 20*/21publicstaticvoid testNodeChangeEvent() throws Exception{ 22 CuratorFramework client = CuratorFrameworkFactory.newClient(zkhost,sessionTimeoutMs,connectionTimeOutMs, new ExponentialBackoffRetry(baseSleepTimeMs,maxRetries)); 23 client.start(); 2425 String path=client.create().creatingParentContainersIfNeeded().withMode(CreateMode.EPHEMERAL).forPath("/dev/sxf/cd","sxf".getBytes()); 2627 NodeCache nodeCache=new NodeCache(client,path); 2829/**30 * 注册数据节点中存储的数据被改变的事件 31*/32 nodeCache.getListenable().addListener(new NodeCacheListener() { 33/**34 * 数据节点变化事件 35*/36 @Override 37publicvoid nodeChanged() throws Exception { 3839 ChildData data=nodeCache.getCurrentData(); 40if(data==null){ 41 System.out.println("节点被删除"); 42return; 43 } 4445 Stat stat=data.getStat(); 4647int a=stat.getNumChildren(); 4849 System.out.println("子节点的个数为==>"+a); 5051 System.out.println("节点数据被改变改变后的数值为==>"+new String(nodeCache.getCurrentData().getData())); 5253 } 54 }); 5556 nodeCache.start(); 575859//当前线程休眠几秒60 Thread.sleep(10000L); 616263 client.setData().forPath("/dev/sxf/cd","中国人民解放军".getBytes()); 646566//当前线程休眠几秒67 Thread.sleep(10000L); 68 client.setData().forPath("/dev/sxf/cd","第二次改变".getBytes()); 697071//当前线程休眠几秒72 Thread.sleep(10000L); 73 client.delete().forPath("/dev/sxf/cd"); 74757677 Thread.sleep(100000L); 7879} 8081 }
原文:http://www.cnblogs.com/shangxiaofei/p/6782923.html
内容总结
以上是互联网集市为您收集整理的Zookeeper之Curator(1)客户端对节点的一些监控事件的api使用全部内容,希望文章能够帮你解决Zookeeper之Curator(1)客户端对节点的一些监控事件的api使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。