Zookeeper之Curator(1)客户端对节点的一些监控事件的api使用
《一》节点改变事件的监听
public class CauratorClientTest {
//链接地址
private static String zkhost="172.19.27.246:2181";
//sessionTimeoutMs会话超时时间,单位为毫秒。默认是60000ms
private static int sessionTimeoutMs=5000;
//connectionTimeoutMs连接创建超时时间,单位毫秒,默认15000ms
private static int connectionTimeOutMs=3000;
//重连策略
private static int maxRetries;
// zookeeper连接间隔时间基数
private static int baseSleepTimeMs=1000;
//系统域dev,qa,pro
private static String domain="dev";
/**
* 数据节点被改变的事件。能监听节点存储的数据发生变化,和节点被删除的事件。
* 节点被删除后,会调用回调方法。
*/
public static void testNodeChangeEvent() throws Exception{
CuratorFramework client = CuratorFrameworkFactory.newClient(zkhost,sessionTimeoutMs,connectionTimeOutMs, new ExponentialBackoffRetry(baseSleepTimeMs,maxRetries));
client.start();
String path=client.create().creatingParentContainersIfNeeded().withMode(CreateMode.EPHEMERAL).forPath("/dev/sxf/cd","sxf".getBytes());
NodeCache nodeCache=new NodeCache(client,path);
/**
* 注册数据节点中存储的数据被改变的事件
*/
nodeCache.getListenable().addListener(new NodeCacheListener() {
/**
* 数据节点变化事件
*/
@Override
public void nodeChanged() throws Exception {
ChildData data=nodeCache.getCurrentData();
if(data==null){
System.out.println("节点被删除");
return;
}
Stat stat=data.getStat();
int a=stat.getNumChildren();
System.out.println("子节点的个数为==>"+a);
System.out.println("节点数据被改变改变后的数值为==>"+new String(nodeCache.getCurrentData().getData()));
}
});
nodeCache.start();
//当前线程休眠几秒
Thread.sleep(10000L);
client.setData().forPath("/dev/sxf/cd","中国人民解放军".getBytes());
//当前线程休眠几秒
Thread.sleep(10000L);
client.setData().forPath("/dev/sxf/cd","第二次改变".getBytes());
//当前线程休眠几秒
Thread.sleep(10000L);
client.delete().forPath("/dev/sxf/cd");
Thread.sleep(100000L);
}
}
Zookeeper之Curator(1)客户端对节点的一些监控事件的api使用的更多相关文章
- ZooKeeper与Curator注册和监控
Curator提供了对zookeeper客户端的封装,并监控连接状态和会话session,特别是会话session过期后,curator能够重新连接zookeeper,并且创建一个新的session. ...
- ZooKeeper和Curator相关经验总结
一.关于ZooKeeper的watch用法,需要注意 详细说明如下: ZooKeeper Watches All of the read operations in ZooKeeper - getDa ...
- Zookeeper框架Curator使用
本文参考自https://blog.csdn.net/wo541075754/article/details/69138878?utm_source=gold_browser_extension ht ...
- zookeeper系列(三)zookeeper的使用--开源客户端
作者:leesf 掌控之中,才会成功:掌控之外,注定失败, 原创博客地址:http://www.cnblogs.com/leesf456/ 奇文共欣赏,大家共同学习进步. 一.前言 上一篇博客已 ...
- ZooKeeper 之 zkCli.sh客户端的命令使用
zkCli.sh的使用 ZooKeeper服务器简历客户端 ./zkCli.sh -timeout 0 -r -server ip:port ./zkCli.sh -timeout 5000 -ser ...
- zookeeper之二 zkCli客户端命令
ZooKeeper命令行界面(CLI)用于与ZooKeeper集合进行交互以进行开发.它有助于调试和解决不同的选项.要执行ZooKeeper CLI操作,首先打开ZooKeeper服务器(“bin/z ...
- zookeeper图形化的客户端工具
追加一个zookeeper图形化的客户端工具: 1.zookeeper图像化客户端工具的下载地址:https://issues.apache.org/jira/secure/attachment/12 ...
- zookeeper系列(一)zookeeper图形化的客户端工具
追加一个zookeeper图形化的客户端工具: 1.zookeeper图像化客户端工具的下载地址:https://issues.apache.org/jira/secure/attachment/12 ...
- jQuery之防止冒泡事件,冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。
冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件. 下面是html代码部分: <body> <div id="content"> 外层div元素 ...
随机推荐
- 树莓派使用Samba共享文件夹
转载自:http://raspberrypihq.com/how-to-share-a-folder-with-a-windows-computer-from-a-raspberry-pi/ Shar ...
- Ubuntu Android adb调试无法识别设备 -- List of devices attached ???????????? no permissions
在Ubuntu下做Android开发, 使用adb devices调试的时候出现在面的错误: 这个问题之前就出现过的,突然就忘了,Mark一下.在网上找了一下,基本上是一些比较麻烦的办法,但是在我的记 ...
- 监听scrollview
http://blog.csdn.net/u012527802/article/details/47320009
- ACM2112迪克斯特算法
HDU Today Problem Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区50 ...
- Stick footers布局总结
一.Sticky footers解释 在网页设计中,Sticky footers设计是最古老和最常见的效果之一,大多数人都曾经经历过.它可以概括如下:如果页面内容不够长的时候,页脚块粘贴在视窗底部:如 ...
- Robotframework Web自动化实战课程
想学习的小伙伴,现在可以报名了!!!7月1日正式开课本期课程主要是web自动化为主,根据平时工作经验整理的一套流程以及使用过程中常见的问题总结.学完后能很快上手,即学即用,课后遇到问题在线解答,远程协 ...
- 南阳ACM 题目71:独木舟上的旅行 Java版
独木舟上的旅行 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能乘坐两个人,且乘客的总 ...
- Linux命令之pstree - 以树状图显示进程间的关系
pstree命令以树状图显示进程间的关系(display a tree of processes).ps命令可以显示当前正在运行的那些进程的信息,但是对于它们之间的关系却显示得不够清晰.在Linux系 ...
- 【BZOJ】3502 PA2012 Tanie linie
[算法]贪心,一般DP [题解] --- 胡策k≤10的环状DP做法: 1.钦定法:先确定第一位(可能和第n位)的状态,然后后面正常做DP,显然正确答案是一定会被记录的,因为从整体上看不会有影响. 2 ...
- 深入理解Spring MVC(山东数漫江湖)
初始工程 使用Spring Boot和web,thymeleaf的starter来设置初始工程.xml配置如下: <parent> <groupId>org.springf ...