Zookeeper之ZKClient的使用
2024-09-04 17:46:35
maven依赖
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.4</version>
</dependency>
测试demo
public class ZooUtil { public static void main(String[] args) {
List<String> ll = new ArrayList<String>();
ZkClient zkClient = new ZkClient("172.16.10.107:2181",3000,3000,new SerializableSerializer());
// zkClient.createEphemeral("/worker1"); //创建临时节点,回话超时会删除
/**
* 获取子目录下的数据
*/
List<String> l = zkClient.getChildren("/");
for(String s : l)
{
System.out.println(s);
}
/**
* 创建节点
*/
zkClient.createPersistent("/test1");
/**
* 创建子节点
*/
zkClient.createPersistent("/test1/test",true);
/**
* 创建并设置节点的值
*/
zkClient.createPersistent("/test1","aaaa");
/**
* 写数据,即更新数据,会update,不会append
*/
zkClient.writeData("/test1","hello");
/**
* 写一个对象,要序列化
*/
User user = new User();
user.setId(1);
user.setName("bbbb");
zkClient.create("/test1",user, CreateMode.PERSISTENT);
/**
* 删除节点
*/
zkClient.delete("/test1");
/**
* 递归删除节点和其子节点
*/
zkClient.deleteRecursive("/test1"); /**
* 读取数据对象
*/
Stat stat = new Stat();
User u = zkClient.readData("/test1",stat);
System.out.println(u.getName());
/**
* 读取简单类型数据
*/
String s = zkClient.readData("/test1");
System.out.println(s); /**
* 判断节点是否存在
*/
boolean b = zkClient.exists("/test1"); /**
* 监听节点的变化,节点增加,删除,减少
*/
zkClient.subscribeChildChanges("/test1", new IZkChildListener() {
@Override
public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {
System.out.println("parentPath = " + parentPath); }
});
/**
* 监听节点数据的变化,子节点数据变化不会监听到
*/
zkClient.subscribeDataChanges("/test1", new IZkDataListener() {
//数据变化时触发
@Override
public void handleDataChange(String dataPath, Object data) throws Exception { } //节点删除时触发
@Override
public void handleDataDeleted(String dataPath) throws Exception { }
});
} }
最新文章
- 基于token的多平台身份认证架构设计
- Android 代码混淆之部分类不混淆的技巧
- Socket连接
- JVM——类的加载过程
- js date string parse
- 通知角标(2)只用一个TextView实现
- 学习S5
- Android TextView中的ellipsize属性
- 重温css系列01
- ubuntu NFS
- Mocha JavaScript TDD
- Python博客目录
- CF1100F Ivan and Burgers
- Node bak
- TP 真阳性 TN FP FN
- python WEB UI自动化在日期框中动态输入当前日期
- 44 CSS 浮动 模态框 定位
- 30 C? Go? Cgo!
- 关于简单的三层的简化(bll,dal,model)的封装这里全部都在一个文件主要在于明白意思
- day7 opencv+python 读取视频,没有东西