代码

 /**
* 创建zk客户端
* 实现循环监听的两个必要条件:1.程序不能结束2.递归调用监听器
* @author tele
*
*/
public class Demo {
private int sessionTimeout = ;
//多个节点用逗号隔开
private String connectString="hadoop002:2181,hadoop003:2181";
private ZooKeeper zkClient; /**
* 初始化
* @throws IOException
*/
@Before
public void init() throws IOException {
zkClient = new ZooKeeper(connectString, sessionTimeout,new Watcher(){
@Override
public void process(WatchedEvent event) {
try {
//实现循环监听
List<String> list = zkClient.getChildren("/",true);
} catch (KeeperException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(event.getType() + "\t" + "path:" + event.getPath()); }
});
} /**
* 创建节点
* @throws InterruptedException
* @throws KeeperException
*/
@Test
public void createNode() throws KeeperException, InterruptedException {
String nodeName = zkClient.create("/wycrencaiss","ok".getBytes(),Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT_SEQUENTIAL);
System.out.println("创建的节点名称是-----" + nodeName);
} /**
* 获取节点
* @throws InterruptedException
* @throws KeeperException
*/
@Test
public void getNode() throws KeeperException, InterruptedException {
List<String> list = zkClient.getChildren("/",true);
for (String string : list) {
System.out.println(string);
} Thread.sleep(Long.MAX_VALUE);
} /**
* 判断节点是否存在
* @throws InterruptedException
* @throws KeeperException
*/
@Test
public void isExist() throws KeeperException, InterruptedException { Stat stat = zkClient.exists("/wyc",true);
System.out.println(stat==null?"not exist":"exist");
Thread.sleep(Long.MAX_VALUE);
}
}

maven

 <dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>

最新文章

  1. 一键配置openvpn
  2. JS通过身份证号码获取出生年月日
  3. YII2数据库依赖缓存
  4. 神奇的C语言
  5. 2.openssl rsa/pkey
  6. linux tar order
  7. 调用REST接口获取数据
  8. C# 文件流相关操作
  9. JS 随机数
  10. objective-c中使用cocoa的NSPredicate,谓词(十四)
  11. SharePoint 2010 Form Authentication (SQL) based on existing database
  12. java 学习第二天小练习
  13. MVC4不支持EF6解决方案 &amp;&amp; Nuget控制台操作说明
  14. toLatin1 qt
  15. 第一册:lesson ninety-three。
  16. SSM项目思路整合NEW
  17. powershell 删除8天前的日志
  18. pip查看已安装包列表
  19. centos7安装mantis
  20. 【Oracle】浅析Oracle中的事务

热门文章

  1. echarts同一页面四个图表切换的js数据交互
  2. UML学习总结(3)——StarUML指导手册
  3. C语言深度剖析-----函数
  4. CQRS之旅——旅程6(我们系统的版本管理)
  5. POJ 1364 King (UVA 515) 差分约束
  6. 【Codeforces Round #435 (Div. 2) C】Mahmoud and Ehab and the xor
  7. SpringBoot日志logback-spring.xml分环境(转)
  8. eclipse在线安装超级炫酷黑色主题
  9. 18、x264编码在zedboard上的实现(软编码)
  10. PatentTips - Modified buddy system memory allocation