操作步骤:

  一、引入zkclient的jar包(maven方式)

  <dependency>

    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.10</version>
  </dependency>

  二、调用相关代码

  

package com.zookeeper.api.zkClientApi;

import java.util.List;
import java.util.concurrent.TimeUnit; import org.I0Itec.zkclient.IZkDataListener;
import org.I0Itec.zkclient.ZkClient; public class ZkClientApi { private final static String connectString = "192.168.194.128:2181,192.168.194.129:2181,192.168.194.130:2181"; public static void main(String[] args) throws InterruptedException {
ZkClient zkClient = new ZkClient(connectString,4000);
//zkClient一次创建多个节点
zkClient.createPersistent("/zkclient/zkclient1/zkclient1-1", true);
System.out.println("创建多层节点成功"); List<String> list = zkClient.getChildren("/zkclient");
System.out.println("获取zkclient节点下的子节点:"+list); //zkClient删除一个节点,和原生api一样,只能从最底层节点一个一个删除
// zkClient.delete("/zkclient");
//zkClient递归删除某个节点及其子节点
zkClient.deleteRecursive("/zkclient");
System.out.println("删除zkclient及其下面的子节点成功\n"); //利用watch机制做订阅,使用异步操作处理节点
zkClient.subscribeDataChanges("/node", new IZkDataListener(){
public void handleDataChange(String arg0, Object arg1)
throws Exception {
System.out.println("节点名称:"+arg0+"-->修改后的值:"+arg1);
} public void handleDataDeleted(String arg0) throws Exception {
System.out.println("删除节点"+arg0+"成功");
}
});
zkClient.createPersistent("/node","node");
TimeUnit.SECONDS.sleep(2);
zkClient.writeData("/node", "node1");
TimeUnit.SECONDS.sleep(2);
zkClient.delete("/node");
TimeUnit.SECONDS.sleep(2);
}
}

  三、显示测试结果

创建多层节点成功
获取zkclient节点下的子节点:[zkclient1]
删除zkclient及其下面的子节点成功 节点名称:/node-->修改后的值:node
节点名称:/node-->修改后的值:node1
删除节点/node成功

  

zookeeper zkClient api 使用的更多相关文章

  1. Zookeeper系列三:Zookeeper客户端的使用(Zookeeper原生API如何进行调用、ZKClient、Curator)和Zookeeper会话

    一.Zookeeper原生API如何进行调用 准备工作: 首先在新建一个maven项目ZK-Demo,然后在pom.xml里面引入zk的依赖 <dependency> <groupI ...

  2. Zookeeper 系列(四)ZKClient API

    Zookeeper 系列(四)ZKClient API 环境准备: <dependency> <groupId>com.101tec</groupId> <a ...

  3. (原) 2.1 Zookeeper原生API使用

    本文为原创文章,转载请注明出处,谢谢 Zookeeper原生API使用 1.jar包引入,演示版本为3.4.6,非maven项目,可以下载jar包导入到项目中 <dependency> & ...

  4. Zookeeper C API 指南四(C API 概览)(转)

    上一节<Zookeeper C API 指南三(回调函数)>重点讲了 Zookeeper C API 中各种回调函数的原型,本节将切入正题,正式讲解 Zookeeper C API.相信大 ...

  5. Zookeeper C API 指南三(回调函数)(转)

    2013-02-21 12:54 by Haippy, 9237 阅读, 0 评论, 收藏, 编辑 接上一篇<Zookeeper C API 指南二(监视(Wathes), 基本常量和结构体介绍 ...

  6. Zookeeper C API 指南一(转)

    Zookeeper 监视(Watches) 简介 Zookeeper C API 的声明和描述在 include/zookeeper.h 中可以找到,另外大部分的 Zookeeper C API 常量 ...

  7. zookeeper client API实现(python kazoo 的实现)

    这里主要分析zookeeper client API的实现方式,以python kazoo的实现代码为蓝本进行逻辑分析. 一.代码框架及介绍 API分为同步模式和异步模式.同步模式是在异步模式的基础上 ...

  8. 9. 使用ZooKeeper Java API编程

    ZooKeeper是用Java开发的,3.4.6版本的Java API文档可以在http://zookeeper.apache.org/doc/r3.4.6/api/index.html上找到. Ti ...

  9. Hadoop生态圈-zookeeper的API用法详解

    Hadoop生态圈-zookeeper的API用法详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.测试前准备 1>.开启集群 [yinzhengjie@s101 ~] ...

随机推荐

  1. python自动化之连接数据库

    # -*- coding: utf-8 -*- """ Created on Fri Mar 20 10:50:56 2015 @author: sl "&qu ...

  2. 关于nginx的一点记录

    (1) 安装nginx官网下载:http://nginx.org下载适合Windows的安装包,是一个压缩包,直接解压就可以了. (2) 启动nginx有三种方式启动:a. 双击nginx.exe图标 ...

  3. jmeter发送json数据,报405、400错误解决方案

    1.405错误解决方案:添加HTTP信息头管理器(错误因数:发送格式未设置) 2.400错误解决方案:json文本格式有误(注意:换行.空格等)解决方案:对照json文本数据(错误因数:发送的json ...

  4. div布局小技巧

    第一: 多个div整齐排列在外层div中,如图: 看到所有小的div的前后左右间隔都相等.假定已经制作好上述单元div控件.在外层大div中循环开始创建它们. for (var i=0; i < ...

  5. 关于PHP 时区错误的问题

    php的ini文件中时区配置默认为关闭状态 这会导致调用时间函数时出错,所以要开启时区并且配置自己的时区: 查询手册找到所有的时区有: 所以修改配置为: 重启apache问题解决

  6. UVA.12716 GCD XOR (暴力枚举 数论GCD)

    UVA.12716 GCD XOR (暴力枚举 数论GCD) 题意分析 题意比较简单,求[1,n]范围内的整数队a,b(a<=b)的个数,使得 gcd(a,b) = a XOR b. 前置技能 ...

  7. 解题:WC 2006 水管局长

    题面 初见LCT,动态最小生成树+链上查询max,具体做法是把边转换成点(LCT只能维护点) 时光倒流,先把最后剩的连起来.然后查询就看链上最大值,修改看看链上最大值是否大于当前边,如果是就断开原来的 ...

  8. 【费用流】【网络流24题】【P1251】 餐巾计划问题

    Description 一个餐厅在相继的 \(N\) 天里,每天需用的餐巾数不尽相同.假设第 \(i\) 天需要 \(r_i\)块餐巾.餐厅可以购买新的餐巾,每块餐巾的费用为 \(p\) 分;或者把旧 ...

  9. 解决“mongoengine.fields.ImproperlyConfigured: PIL library was not found”报错

    解决方案: pip install Pillow

  10. mac 必备工具

    iTerm 可以在一个窗口中垂直.水平分割窗口,而不用切换来切换去 一些基本功能如下: 1.分窗口操作:shift+command+d(横向)command+d(竖向) 2.查找和粘贴:command ...