Zookeeper 的增删改查demo代码

public class SimpleZkClient {

    private static final String connectString = "mini1:2181,mini2:2181,mini3:2181";
private static final int sessionTimeout = 2000; ZooKeeper zkClient = null; @Before
public void init() throws Exception {
zkClient = new ZooKeeper(connectString, sessionTimeout, new Watcher() {
@Override
public void process(WatchedEvent event) {
// 收到事件通知后的回调函数(应该是我们自己的事件处理逻辑)
System.out.println(event.getType() + "---" + event.getPath());
try {
zkClient.getChildren("/", true);
} catch (Exception e) {
}
}
}); } /**
* 数据的增删改查
*/ // 创建数据节点到zk中
public void testCreate() throws KeeperException, InterruptedException {
// 参数1:要创建的节点的路径 参数2:节点大数据 参数3:节点的权限 参数4:节点的类型
String nodeCreated = zkClient.create("/eclipse", "hellozk".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
//上传的数据可以是任何类型,但都要转成byte[]
} //判断znode是否存在
@Test
public void testExist() throws Exception{
Stat stat = zkClient.exists("/eclipse", false);
System.out.println(stat==null?"not exist":"exist");
} // 获取子节点
@Test
public void getChildren() throws Exception {
List<String> children = zkClient.getChildren("/", true);
for (String child : children) {
System.out.println(child);
}
Thread.sleep(Long.MAX_VALUE);
} //获取znode的数据
@Test
public void getData() throws Exception {
byte[] data = zkClient.getData("/eclipse", false, null);
System.out.println(new String(data));
} //删除znode
@Test
public void deleteZnode() throws Exception {
//参数2:指定要删除的版本,-1表示删除所有版本
zkClient.delete("/eclipse", -1);
} //删除znode
@Test
public void setData() throws Exception {
zkClient.setData("/app1", "imissyou angelababy".getBytes(), -1);
byte[] data = zkClient.getData("/app1", false, null);
System.out.println(new String(data));
}
}

最新文章

  1. Android课程---关于数据存储的学习之总结
  2. 数据结构算法C语言实现(一)---2.2线性表的顺序表示和实现
  3. CSS中font-style的斜体属性Italic oblique的区别
  4. python-twisted
  5. ViewPager滑动页面的实现方法
  6. chrome浏览器扩展--QQ群查看器(1)
  7. poj 1703(带权并查集)
  8. BZOJ 1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛( LIS )
  9. 四大高质量且实用的chrome翻译插件推荐
  10. Eclipse中应用的调试
  11. SQL Server 2017 安装过程中的一点说明(有点意思)
  12. Python3学习之路~8.6 开发一个支持多用户在线的FTP程序-代码实现
  13. mac使用minikube
  14. [PHP] 09 - PHP 7 &amp; Tricky
  15. POJ 3249 Test for Job
  16. Leetcode167-Two Sum II Input array is sorted-Easy
  17. bzoj2330糖果
  18. Win10内部更新:警告用户别用chrome和Firefox
  19. IIS解决上传文件大小限制
  20. 166. Nth to Last Node in List

热门文章

  1. [转载]用等高线图(Contour maps)可视化多变量函数
  2. angular2多组件通信流程图
  3. How to modify a compiled Android application (.apk file)
  4. 静态分析:IDA逆向代码段说明 text、idata、rdata、data
  5. POJ 3155 Hard Life(最大密度子图+改进算法)
  6. BZOJ 3150 [Ctsc2013]猴子 ——期望DP 高斯消元
  7. matplotlib pyplot 中文显示问题
  8. 完善慕课网Vue2.0购物车功能
  9. 星际竞速(bzoj 1927)
  10. jQuery性能优化【转】