zookeeper应用,zookeeper java api创建节点
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。
import org.I0Itec.zkclient.ZkClient;
public class ZkClientTool {
/**
获取zkClien
@return
*/
public static ZkClient getZkClient() {
/ 正在获取 zkcleent 新的可序列序列序列器 () 是一个序列器, 可以直接传递到对象或直接读取。 序列器为我们处理序列和反序列。
ZkClient zkClient = new ZkClient(“192.168.40.135:2181”, 10000, 500000, new MySerializer());
return zkClient;
}
}
创建节点:
package com.zkclient;
import org.I0Itec.zkclient.ZkClient;
import org.apache.zookeeper.CreateMode;
public class CreateNode {
public static void main(String[] args) {
ZkClient zkCliet = ZkClientTool.getZkClient();
User u
“贾瓦访谈评估+后端发展学习说明+当前结构视频+外地项目源说明”
[Docs.]我不知道,qq.com/doc/DSmxTbFJ1cmN1R2dB)开放源码全部内容共享
ser = User.builder().id(1).name(“zzz”).build();
String path = zkCliet.create("/node_2", user, CreateMode.PERSISTENT);
System.out.println(path);
}
}
获取节点值:
package com.zkclient;
import org.I0Itec.zkclient.ZkClient;
import org.apache.zookeeper.data.Stat;
public class GetNodeData {
public static void main(String[] args) {
ZkClient zkCliet = ZkClientTool.getZkClient();
如果获得节点状态, 状态可以作为参数 。
Stat stat = new Stat();
String user = zkCliet.readData("/node_2", stat);
System.out.println(“user:” + user);
System.out.println(“stat” + stat);
}
}
获取子节点信息:
package com.zkclient;
import org.I0Itec.zkclient.ZkClient;
import java.util.List;
public class GetChildNode {
public static void main(String[] args) {
ZkClient zkCliet = ZkClientTool.getZkClient();
List children = zkCliet.getChildren("/node_2");
System.out.println(“children” + children.toString());
}
}
检查是否存在节点 :
package com.zkclient;
import org.I0Itec.zkclient.ZkClient;
public class NodeExits {
public static void main(String[] args) {
ZkClient zkCliet = ZkClientTool.getZkClient();
boolean exists = zkCliet.exists("/node_2");
System.out.println(“exists:” + exists);
}
}
删除节点:
package com.zkclient;
import org.I0Itec.zkclient.ZkClient;
public class DeleteNode {
public static void main(String[] args) {
ZkClient zkCliet = ZkClientTool.getZkClient();
boolean node_2 = zkCliet.delete(“node_2”);
System.out.println(“delete node_2:” + node_2);
/ 如果节点有一个子节点, 则删除使用删除的递归性 。
boolean node_21 = zkCliet.deleteRecursive(“node_2”);
System.out.println(“contains child delete node_21:” + node_21);
}
}
如果有一个分点,则不正确:
有必要删除使用删除的“递归”一词:
节点修改:
package com.zkclient;
import org.I0Itec.zkclient.ZkClient;
public class WriteData {
public static void main(String[] args) {
ZkClient zkCliet = ZkClientTool.getZkClient();
Object oldDate = zkCliet.readData("/node_1");
System.out.println(“oldDate:” + oldDate);
zkCliet.writeData("/node_1", “zkca”);
Object newDate = zkCliet.readData("/node_1");
System.out.println(“newDate:” + newDate);
}
}
事件订阅:
可以订阅两种事件:
一. 对节点子节点列表的修改
二. 节点本身的数据变化
安排安排安排安排
package com.zkclient;
import org.I0Itec.zkclient.IZkChildListener;
import org.I0Itec.zkclient.ZkClient;
import java.util.List;
public class SubScribeChildChange {
private static class ZkChildChangeListener implements IZkChildListener {
public void handleChildChange(String parentPath, List childrenList) throws Exception {
System.out.println(“parentPath:” + parentPath);
System.out.println(“childrenList:” + childrenList.toString());
}
}
public static void main(String[] args) throws InterruptedException {
ZkClient zkCliet = ZkClientTool.getZkClient();
//可以监听添加子节点_1,删除子节点,甚至创建和删除节点_1本身
zkCliet.subscribeChildChanges("/node_1", new ZkChildChangeListener());
Thread.sleep(Integer.MAX_VALUE);
}
}
XTw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com