zookeeper客户端ZkClient常用操作

目录

 

1、创建连接

2、节点操作

3、监听节点的变化

3.1 监听当前节点IZkDataListener

3.2 监听子节点IZkChildListener


1、创建连接

ZkClient zkc = new ZkClient("127.0.0.1:2181", 10000);

2、节点操作

//1. 创建临时节点
zkc.createEphemeral("/temple");
//创建持久节点,父节点不存在,创建父节点
zkc.createPersistent("/admin/c1", true);
//删除节点
zkc.delete("/temple");
//删除节点和子节点
zkc.deleteRecursive("/admin");


//2. 获取子节点的内容
zkc.createPersistent("/admin", "1");
zkc.createPersistent("/admin/c1", "3");
zkc.createPersistent("/admin/c2", "2");


List<String> list = zkc.getChildren("/admin");
for(String p : list){
	System.out.println(p);
	String rp = "/admin/" + p;
	String data = zkc.readData(rp);
	System.out.println("节点为:" + rp + ",内容为: " + data);
}

//3. 更新和判断节点是否存在
zkc.writeData("/admin/c1", "新内容");
System.out.println(zkc.readData("/admin/c1").toString());
System.out.println(zkc.exists("/admin/c1"));

//4.递归删除/admin内容
zkc.deleteRecursive("/admin");

3、监听节点的变化

3.1 监听当前节点IZkDataListener

zkc.subscribeDataChanges("/admin", new IZkDataListener() {
	@Override
	public void handleDataDeleted(String path) throws Exception {
		System.out.println("删除的节点为:" + path);
	}

	@Override
	public void handleDataChange(String path, Object data) throws Exception {
		System.out.println("变更的节点为:" + path + ", 变更内容为:" + data);
	}
});

3.2 监听子节点IZkChildListener

//对父节点添加监听子节点变化。
zkc.subscribeChildChanges("/super", new IZkChildListener() {
	@Override
	public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {
		System.out.println("parentPath: " + parentPath);
		System.out.println("currentChilds: " + currentChilds);
	}
});

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值