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…

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

**单片机设计介绍&#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

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

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

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&#…

uni-app开发微信小程序使用BLE低功耗蓝牙正确步骤

文章目录 前言连接逻辑建议 参考资料&#xff1a;https://www.hc01.com/downloads 前言 微信小程序通过蓝牙连接设备&#xff0c;所以需要使用到BLE连接。 思路&#xff1a; 小程序连接BLE的步骤已经知道设备的BLE名称、服务id、特征值ID。需要根据蓝牙模块提供商的说明书去…

链表之单链表

上一篇博客我们学习了线性表中的顺序表&#xff0c;这一篇博客让我们继续往下了解线性表的链表&#xff0c;链表分为好几种结构&#xff0c;活不多说&#xff0c;让我们开始学习吧&#xff01; 目录 1.链表 2.链表的结构 3.单链表的实现 1.链表 1.概念&#xff1a;它是一种物…

大创项目推荐 深度学习 python opencv 火焰检测识别 火灾检测

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

HTML - 请你谈一谈 iframe的优缺点

难度级别:中级及以上 提问概率:50% iframe是一个HTML标签,它可以在一个网页中嵌入另外一个网页,甚至是把其他的网站嵌入进来。在之前的很长时间里,内部管理系统都在使用iframe,做为菜单切换的主体模板区域框架。iframe包含一个src属性,…

php运行python脚本失败怎么解决

假设有文件&#xff1a;php_test.php python_test.py 在php文件中运行Python&#xff1a; exec("python python_test.py", $array, $ret); 如果运行Python出错并不能保存在数组array中&#xff0c;因此应该把标准错误重定向到文件中&#xff0c;以上代码改写如下&a…