Java API:watcher 操作|学习笔记

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 快速学习 Java API:watcher 操作

开发者学堂课程【大数据 ZooKeeper 快速入门 Java API:watcher 操作】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/549/detail/7571


Java API:watcher 操作

 

目录:

一、创建目录节点

二、创建子目录节点

三、获取目录节点列表

四、修改子目录节点数据

 

课程概要:下面进行学习 zookeeper 的 JavaAPI 其他操作

zookeeper 其他操作示例

public static void main(String[] args) throws Exception{

//初始化ZooKeeper实例(zk地址、会话超时时间,与系统默认一致、watcher)

ZooKeeper zk = new ZooKeeper(

"node-21:2181, node-22:2181",30000,new Watcher(){

@Override

public void process (WatchedEvent event)(

System.out. println("事件类型为: " + event.getType()) System.out.println("事件发生的路径: ” + event. getPath());

System.out. println("通知状态为: " +event. getState());

]);

 

一、创建目录节点

//创建一个目录节点

zk.create("/testRootPathl"testRootData".getBytes()

,Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT);

 

二、创建子目录节点

//创建一个子目录节点

zk.create("/testRootPath/testChildPathOne","testChildDataOnc".getBytes(),Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT) ;

System.out.println(new String(zk. getData("/testRootPath" , false, null)));

 

三、获取目录节点列表

//取出子目录节点列表

System.out. println(zk.getChildren(" /testRootPath",true)) ;

//获取数据

/**

@param path the given path

@param watch whether need to watch this node@param stat the stat of the node

return the data of the nodeI

@throws KeeperException If the server signals an error with a non-zero error code

@throws InterruptedException If the server transaction is interrupted.

*/

//监听打开相当于对节点 myGrils 设置了数据变化的监听,一旦节点数据改变,监听就会触发

Zk.getData(myGrils,true,NULL)

代码运行结果:

image.png

报错:节点以及存在,所有我们需要把创建节点的代码注释掉

//zk.create("/myGrils","性感的".getBytes(),Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT) ;

重新运行代码:

image.png

 

四、修改子目录节点数据

//修改子目录节点数据

//一旦修改,监听就会生效,-1代表自己不维护,采用系统维护

zk.setData("/myGrils" ,"美丽的" .getBytes(),-1);

System. out.println("目录节点状态:["+zk.exists(" /testRootPath", true)+""]");

代码运行:

image.png

在 set 的时候发生监听,type 为数据节点改变

#shell 客户端查看

[zk:localhost:2181(CONNECTED) 21 ]get myGrils

运行结果:

运行结果:

美丽的

czxid =0x200000051

ctime = Thu an o416:04:25 cST 2018

mzxid = 0x200000051

mtime = Thu an0416:04:25 cST 2018

pzxid = 0x200000051

cversion = 0

dataversion = 0

ac1version = 0

ephemera1owner = 0x0

dataLength = 9

numchi1dren = 0

//创建另外一个子目录节点zk.create("/testRootPath/testChildPathTwo"","testChildDataTwo".getBytes(),lds.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT) ;

相关文章
|
3天前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
10天前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
173 100
|
10天前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
170 101
|
10天前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
168 101
|
2月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
322 188
|
2月前
|
JSON Java API
【干货满满】分享京东API接口到手价,用Java语言实现
本示例使用 Java 调用京东开放平台商品价格及优惠信息 API,通过商品详情和促销接口获取到手价(含优惠券、满减等),包含签名生成、HTTP 请求及响应解析逻辑,适用于比价工具、电商系统集成等场景。
|
2月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
230 92
|
3月前
|
Oracle Java 关系型数据库
掌握Java Stream API:高效集合处理的利器
掌握Java Stream API:高效集合处理的利器
342 80
|
13天前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
86 2
|
15天前
|
小程序 Java 知识图谱
Java 学习笔记 —— BMI & BMR 计算器
这是一个使用 Java 编写的 BMI 与 BMR 计算器小程序,可输入年龄、性别、身高和体重,计算身体质量指数(BMI)和基础代谢率(BMR),并输出健康评估结果。通过该项目,掌握了 Java 的输入处理、数据验证、条件判断、数学运算及格式化输出等基础知识,是 Java 初学者的理想练习项目。