1.NodeCache监听代码:

@Test
public void testNodeCache() throws Exception {
//1.创建NodeCache对象
NodeCache nodeCache = new NodeCache(client,"/app1");
//2.注册监听
nodeCache.getListenable().addListener(new NodeCacheListener() {
@Override
public void nodeChanged() throws Exception {
System.out.println("节点变化了");
//获取修改节点后的数据
byte[] data = nodeCache.getCurrentData().getData();
System.out.println(data);
}
});
//3.开启监听,如果设置为true,则开启监听是,加载缓冲数据
nodeCache.start(true);
while (true){ }
}

2.pathchildrenCache监听代码:

/**
* 演示testPathchildrenCache:监听某个节点的子节点们
*
* */
@Test
public void testPathchildrenCache() throws Exception {
//1.创建监听对象
PathChildrenCache pathChildrenCache = new PathChildrenCache(client,"/app2",true);
//2.绑定监听器
pathChildrenCache.getListenable().addListener(new PathChildrenCacheListener() {
@Override
public void childEvent(CuratorFramework curatorFramework, PathChildrenCacheEvent pathChildrenCacheEvent) throws Exception {
System.out.println("子节点变化了");
System.out.println(pathChildrenCacheEvent);
//监听子节点的数据变更,并且拿到变更后的数据
//1.获取类型
PathChildrenCacheEvent.Type type = pathChildrenCacheEvent.getType();
//2.判断类型是否是update
if (type.equals(PathChildrenCacheEvent.Type.CHILD_UPDATED)){
System.out.println("数据变更了");
byte[] data = pathChildrenCacheEvent.getData().getData();
System.out.println(new String(data)); } }
});
//3.开启
pathChildrenCache.start();
while (true){ }
}

3.TreeCache:监听某个节点和所有子节点们

//演示 TreeCache :监听某个节点和自己所有的子节点们
@Test
public void testTreeCache() throws Exception{
//1.创建监听器
TreeCache treeCache = new TreeCache(client,"/app2");
//2.注册监听
treeCache.getListenable().addListener(new TreeCacheListener() {
@Override
public void childEvent(CuratorFramework curatorFramework, TreeCacheEvent treeCacheEvent) throws Exception {
System.out.println("节点变化了");
System.out.println(treeCacheEvent);
}
});
//3.开启
treeCache.start();
while (true){ }
}

zookeeper JavaAPI 操作-watch监听的更多相关文章

  1. ThinkPHP 数据库操作(六) : 查询事件、事务操作、监听SQL

    查询事件 查询事件(V5.0.4+) 从 5.0.4+ 版本开始,增加了数据库的CURD操作事件支持,包括: 查询事件仅支持 find . select . insert . update 和 del ...

  2. 基于高德地图的描点操作,监听地图缩放,展示合理数量的marker

    原文:基于高德地图的描点操作,监听地图缩放,展示合理数量的marker 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lx583274568/art ...

  3. Zookeeper中的watcher监听和leader选举机制

    watcher监听 什么是watcher接口 同一个事件类型在不同的通知状态中代表的含义有所不同,下图列举了常见的通知状态和事件类型. Watcher通知状态与事件类型一览 上图列举了ZooKeepe ...

  4. 基于Zookeeper实现客户端动态监听服务器上下线

    一.在具体实现之前,先来了解一下Zookeeper的监听器的原理: 图中Main()线程作为客户端,当在主线程中创建Zookeeper客户端时,会默认创建两个子线程:Listener和connect, ...

  5. pynput模块—键盘鼠标操作和监听

    pynput.mouse:包含控制和监控鼠标或者触摸板的类. pynput.keyboard:包含控制和监控键盘的类. 上面提到的子包都已被引入到pynput库中.要使用上面的子包,从pynput中引 ...

  6. zookeeper 实现分布式锁zookeeper 使用 Curator 示例监听、分布式锁

    下载地址: http://download.csdn.net/download/ttyyadd/10239642

  7. Zookeeper Curator 事件监听 - 秒懂

    目录 写在前面 1.1. Curator 事件监听 1.1.1. Watcher 标准的事件处理器 1.1.2. NodeCache 节点缓存的监听 1.1.3. PathChildrenCache ...

  8. ZooKeeper(二):多个端口监听的建立逻辑解析

    ZooKeeper 作为优秀的分布系统协调组件,值得一探究竟.它的启动类主要为: 1. 单机版的zk 使用 ZooKeeperServerMain 2. 集群版的zk 使用 QuorumPeerMai ...

  9. Zookeeper开源客户端Curator之事件监听详解

    Curator对Zookeeper典型场景之事件监听进行封装,提供了使用参考.这篇博文笔者带领大家了解一下Curator的实现方式. 引入依赖 对于Curator封装Zookeeper的典型场景使用都 ...

  10. NSOperation操作依赖和监听

    1.操作依赖 NSOperation之间可以设置依赖来保证执行顺序 比如一定要让操作A执行完后,才能执行操作B,可以这么写 [operationB addDependency:operationA]; ...

随机推荐

  1. [ABC305D] Sleep Log题解

    题目大意 给 \(N\) 个时刻: 当 \(i\) 为奇数时,\(A_i\) 表示刚刚起床的时刻. 当 \(i\) 为偶数时,\(A_i\) 表示开始睡觉的时刻. 有 \(Q\) 次询问,每次求在 \ ...

  2. 【Ubuntu】Ubuntu 配置记录

    目录 系统文件夹改回英文 Ubuntu 镜像 pypi 镜像 临时使用 设为默认 Doxygen + Graphviz 分析代码并画图 Graphviz 安装 Doxygen 安装 配置 运行 系统文 ...

  3. Vue用v-bind给标签属性赋值 src, href...

    给属性渲染数据不能使用 {{name}} 标记, 请使用 v-bind:属性名称="name" name是json数据键值对中的键名, 请配合下面JS代码片食用 HTML < ...

  4. Matplotlib(一)

    Matplotlib(一) Matplotlib库的介绍 Matplotlib库的使用 Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发matplotlib.pyplot是绘 ...

  5. 每日一练:无感刷新页面(附可运行的前后端源码,前端vue,后端node)

    1.前言 想象下,你正常在网页上浏览页面.突然弹出一个窗口,告诉你登录失效,跳回了登录页面,让你重新登录.你是不是很恼火.这时候无感刷新的作用就体现出来了. 2.方案 2.1 redis设置过期时间 ...

  6. iptables和firewalld

    iptables简介 iptables不是一个单一的软件工具,而是一套c/s样式的软件组,它是由工作在用户空间的iptables和工作在内核空间的vetilter模块组成,一般统称为Iptables. ...

  7. socket应用的例子

    当使用 C 语言实现 Socket 编程时,可以通过系统提供的网络库来实现网络通信.以下是一个简单的示例,演示了如何创建一个简单的服务器和客户端,实现客户端向服务器发送消息并接收回复的功能. 服务器端 ...

  8. Django-rest-framework框架——Web应用模式、API接口、接口测试工具(Postman)、RESTfulAPI规范、序列化、drf、环境安装与配置、CBV源码分析、 APIView

    @ 目录 一 Web应用模式 1.1 前后端不分离 1.2 前后端分离 二 API接口 三 接口测试工具:Postman 四 RESTful API规范(背诵牢记) 4.1 数据的安全保障 4.2 接 ...

  9. .NET 数据库大数据 方案(插入、更新、删除、查询 、插入或更新)

    1.功能介绍 (需要版本5.0.45) 海量数据操作ORM性能瓶颈在实体转换上面,并且不能使用常规的Sql去实现 当列越多转换越慢,SqlSugar将转换性能做到极致,并且采用数据库最佳API 操作数 ...

  10. OpenSSL 生成 RootCA (根证书)并自签署证书(支持 IP 地址)

    背景 某机房内部访问需要配置 HTTPS,网上找的一些证书教程都不是特别好,有些直接生成证书,没有根 CA 的证书导致信任不了 Ubuntu 机器,有些教程只有域名生成,没有 IP 生成,有些甚至报错 ...