zookeeper监听集群节点的实现zkclient组件实现方案(Java版)

ZooKeeper Watcher 机制
ZooKeeper Watcher 机制

  1. client 向zookeeper 注册监听
  2. client注册的同时会存储一个WatchManager对象
  3. 向zookeeper发生改变则notification client 并发送一个WatchManager对象,然后client再更新该对象
package com.jacky.zk.demo;import org.I0Itec.zkclient.IZkChildListener;
import org.I0Itec.zkclient.ZkClient;import java.util.List;/*
* 使用监听器
* */
public class Get_child {public static void main(String[] args) throws InterruptedException {//    获取到zkClientfinal ZkClient zkClient= new ZkClient("127.0.0.1:2181");//    zkClient 对指定目录进行监听(不存在的目录)/*ps: 可以监听的事件类型:NodeCreated:当ZNode被创建时触发。NodeDeleted:当ZNode被删除时触发。NodeDataChanged:当ZNode的数据内容发生改变时触发。NodeChildrenChanged:当ZNode的子节点列表发生更改时触发(添加或删除子节点)。ConnectionStateChanged:与ZooKeeper服务器的连接状态发生变化时触发。   * */zkClient.subscribeChildChanges("/zk-jk", new IZkChildListener() {//  回调@Overridepublic void handleChildChange(String s, List<String> children) throws Exception {System.out.println("error"+children);}});zkClient.createPersistent("/zk-jk");Thread.sleep(2000);zkClient.createPersistent("/zk-jk/cls-jk");Thread.sleep(2000);zkClient.deleteRecursive("/zk-jk/cls-jk");Thread.sleep(2000);zkClient.delete("/zk-jk");Thread.sleep(Integer.MAX_VALUE);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/790753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MacOS 14 搭建 PHP7.4 + Xdebug开发环境

摘要 项目使用的技术栈&#xff1a;PHP 7.4.33、ThinkPHP 5.1.27、Redis、MySQL 由于MacOS预装的PHP版本较高&#xff0c;所以需要降级 IDE 使用 PhpStorm 2023.2.3 1. 安装PHP 7.4.33 MacOS 14中的brew版本比较高&#xff0c;没有低版本的PHP brew install shivammathur/p…

如何保证缓存和数据库一致性----缓存双删

如何保证缓存和数据库的一致性 a.缓存双删&#xff1a;修改前删&#xff0c;修改后删&#xff0c;可以用aop去实现&#xff08;不能保证一致性&#xff09; b.或者根据业务场景去看&#xff0c;需不需要满足强一致性 c.对强一致性要求特别高需要加业务锁&#xff0c;只要有修改…

基于单片机的汽车尾灯控制系统设计

**单片机设计介绍&#xff0c;基于单片机的汽车尾灯控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的汽车尾灯控制系统设计概要主要涵盖利用单片机技术实现对汽车尾灯的智能控制。下面将从系统构成、工作…

C++函数匹配机制

函数匹配 在大多数情况下&#xff0c;我们容易确定某次调用应该选用哪个重载函数。 然而&#xff0c;当几个重载函数的形参数量相等以及某些形参的类型可以由其他类型转换得来时&#xff0c;这项工作就不那么容易了。 以下面这组函数及其调用为例&#xff1a; void f(); vo…

013——超声波模块驱动开发(基于I.MX6uLL与SR04)

目录 一、 模块介绍 1.1 产品特色 1.2 产品实物图 1.3 接口定义 1.4 测距调节 1.5 模块工作原理 1.6 注意 二、 编码思路 三、 驱动程序 四、 应用程序 五、 Makefile 六、 其它及实验 一、 模块介绍 超声波测距模块是利用超声波来测距。模块先发送超声波&#xf…

gitlab代码迁移,包含历史提交记录、标签、分支

1、克隆现有的GitLab仓库&#xff08;http://localhost:8888/aa/bb/cc.git&#xff09;到本地&#xff0c;包括所有分支和标签 git clone --bare http://localhost:8888/aa/bb/cc.git 2、在gitlab上创建一个空的仓库&#xff08;http://localhost:7777/aa/bb/cc.git&#xff…

微服务连接不上rabbitmq解决

1.把端口port: 15672改成port&#xff1a;5672 2&#xff1a;virtual-host: my_vhost一定对应上

Android Studio 打开Logcat界面

在平时调试过程中查看调试日志需要打开 Android Studio Logcat界面。 每次安装AS都会忘记&#xff0c;自己备注一下。 AS->View->Tool Windows->Logcat

借助ChatGPT写作:打造学术论文中的亮点与互动

ChatGPT无限次数:点击直达 打造学术论文中的亮点与互动 引言 学术论文是学术界交流思想、探讨问题和展示研究成果的重要形式。如何使学术论文在众多作品中脱颖而出&#xff0c;吸引读者的眼球并激发互动&#xff0c;是每位研究者都关注的问题。本文将介绍如何借助ChatGPT这一…

redis-事务使用方法

一&#xff0c;redis-事务是否拥有原子性 Redis的单条命令是保证原子性的&#xff0c;但是redis事务不能保证原子性 Redis事务本质&#xff1a;一组命令的集合。----------------- 队列 set set set 执行 -------------------事务中每条命令都会被序列化&#xff0c;执行过…

C#面:.NET 中读写 XML 的类归属于哪些命名空间

在 .NET 中&#xff0c;读写 XML 的类主要归属于 System.Xml 命名空间。 该命名空间提供了一系列用于处理 XML 的类和接口&#xff0c;包括但不限于以下几个常用的类&#xff1a; XmlDocument&#xff1a;表示一个XML文档&#xff0c;可以用于加载、创建、修改和保存XML文档。…

AR/VR技术对制造业劳动力危机的影响

借助 AR/VR 的力量缩小现代制造业的技能差距 数字化转型仍然是企业的首要任务&#xff0c;其许多方面都需要人工干预。然而&#xff0c;推动此类举措所需的技术工人日益短缺。这就造成了我们所说的“制造业劳动力危机”。 制造业应当如何&#xff1a; 制造业用工危机正在影响…

Anu Has a Function

题目链接 Codeforces Round 618 (Div. 1) A. Anu Has a Function 思路&#xff1a; 我们把每个二进制位上的 1 1 1 看作是集合的不同的元素&#xff0c;二进制的位运算&#xff08;按位与&#xff0c;按位或&#xff0c;按位异或&#xff09;其实可以看作是集合上的与或异或…

uniapp微信小程序真机图片不显示

不同设备可能出现部分设备显示不了图片&#xff0c;解决办法&#xff1a;图片地址直接使用&#xff0c;不要拼接&#xff1a; https://images.weserv.nl/?urlhttp

无法打开pycharm虚拟环境

问题&#xff1a;在pycharm的terminal中执行pip命令&#xff0c;但是下载的包没有安装到该项目的虚拟环境中。 激活虚拟环境&#xff0c;打开terminal&#xff0c;执行myenv\Scripts\activate&#xff0c;显示执行出错 无法加载文件 D:\Project\RF_Project\venv\Scripts\acti…

如何在Java中,使用jackson实现json缩进美化

导入的maven依赖 <!--json--> <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.10.0</version> </dependency>示例代码 json要是String类型 public…

数据库管理工具 DBeaverUE for Mac激活版

DBeaverUE for Mac是一款功能强大且易于使用的数据库管理工具&#xff0c;专为Mac用户设计。它支持多种数据库类型&#xff0c;如MySQL、PostgreSQL、Oracle等&#xff0c;使得用户可以轻松管理和操作各种数据库。 软件下载&#xff1a;DBeaverUE for Mac激活版下载 DBeaverUE …

Node.js介绍

Node.js 是一个开源和跨平台的 JavaScript 运行时环境。它是几乎任何类型的项目的流行工具&#xff01;

[C#]使用OpencvSharp去除面积较小的连通域

【C介绍】 关于opencv实现有比较好的算法&#xff0c;可以参考这个博客OpenCV去除面积较小的连通域_c#opencv 筛选小面积区域-CSDN博客 但是没有对应opencvsharp实现同类算法&#xff0c;为了照顾懂C#编程同学们&#xff0c;因此将 去除面积较小的连通域算法转成C#代码。 方…

Django複習總結

①Django是框架。那麼什麼是框架&#xff1a; 框架很像是一個骨架&#xff0c;帶有很多默認器官的骨架。我們可以根據需要改寫、複寫這些器官。 從而實現自己所需要的功能。 ②Django是MVC模型\MVT模型&#xff1a; MVC模型&#xff1a;M&#xff1a;models模型層 V&#…