Zookeeper:JavaApi更新、删除、读取节点
1.更新
同步方式:
1 2 3 4 5 6 7 | /** * 三个参数 * the path of the node * the data to set * the expected matching version */ Stat stat = zooKeeper.setData( "/set/node1" , "NODE1" .getBytes(), 1 ); |
返回值Stat中封装了set命令中的返回值,可以通过Stat的各种get方法去获取。
异步方式:
1 2 3 4 5 6 7 8 | zooKeeper.setData( "/set/node1" , "nnn" .getBytes(), - 1 , new AsyncCallback.StatCallback() { public void processResult( int rc, String path, Object ctx, Stat stat) { System.out.println(rc); //0代表修改成功 System.out.println(path); //节点路径 System.out.println(ctx); //上下文参数 System.out.println(stat); //属性描述对象 } }, "ctx" ); |
打印结果:
2.删除
同步方式:
1 2 3 4 5 6 7 | /** * @param path * the path of the node to be deleted. * @param version * the expected node version. 当为-1时,表示不考虑当前节点的版本信息。 */ zooKeeper.delete( "/delete/node1" , 0 ); |
异步方式:
1 2 3 4 5 6 7 8 | //VoidCallback:异步回调接口 zooKeeper.delete( "/delete/node2" , - 1 , new AsyncCallback.VoidCallback() { public void processResult( int rc, String path, Object ctx) { System.out.println(rc); //0表示删除成功 System.out.println(path); //节点路径 System.out.println(ctx); //上下文信息 } }, "ctx" ); |
打印结果:
3.读取
1 2 | getData(String path, boolean b,Stat stat) 同步方式 getData(String path, boolean b,AsyncCallback.DataCallback callBack,Object ctx) 异步方式 |
path:znode路径
b:是否使用连接对象中注册的监视器。
stat:返回znode的元数据。
callBack:异步回调接口。
ctx:传递上下文参数。
4.查看子节点
1 | List<String> getChildren(String path, boolean b) 同步方式List<String> getChildren(String path, boolean b,AsyncCallback.DataCallback callBack,Object ctx) 异步方式 |
path:znode路径
b:是否使用连接对象中注册的监视器。
callBack:异步回调接口。
ctx:传递上下文参数。
5.判断节点是否存在
1 2 | Stat exist(String path, boolean b) 同步方式 Stat exist(String path, boolean b,AsyncCallback.DataCallback callBack,Object ctx) 异步方式 |
当Stat为null时,则该节点不存在。
标签:
Zookeeper
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix