zookeeper客户端使用第三方(zkclient)封装的Api操作节点

1.引入依赖

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

2.会话连接

 1 package com.karat.cn.zookeeper.zkclient;
 2
 3 import org.I0Itec.zkclient.ZkClient;
 4 /**
 5  * 创建会话(连接zookeeper)
 6  * @author 开发
 7  *
 8  */
 9 public class SessionDemo {
10
11      private final static String CONNECTSTRING="47.107.121.215:2181";
12
13      public static void main(String[] args) {
14           ZkClient zkClient=new ZkClient(CONNECTSTRING,4000);
15           System.out.println(zkClient+" - > success连接");
16      }
17 }

3.节点简单操作

 1 package com.karat.cn.zookeeper.zkclient;
 2
 3 import java.util.List;
 4 import java.util.concurrent.TimeUnit;
 5
 6 import org.I0Itec.zkclient.IZkChildListener;
 7 import org.I0Itec.zkclient.IZkDataListener;
 8 import org.I0Itec.zkclient.ZkClient;
 9 /**
10  * 节点操作
11  * @author Administrator
12  *
13  */
14 public class ZkClientApiOperatorDemo {
15
16     private final static String CONNECTSTRING="47.107.121.215:2181";
17
18     private static ZkClient getInstance(){
19         return new ZkClient(CONNECTSTRING,10000);//10000是连接超时时间
20     }
21
22     public static void main(String[] args) throws InterruptedException {
23         ZkClient zkClient=getInstance();//连接
24         //zkClient.createEphemeral("/zkClient");//创建临时节点
25         //zkClient中提供递归创建父节点的功能
26         //zkClient.createPersistent("/zkClient/a/b/c/d",true);//创建持久化节点
27         //删除节点
28         //zkClient.delete("/zkClient");
29         //递归删除节点
30         //zkClient.deleteRecursive("/zkClient");
31         //获取子节点
32         List<String> list=zkClient.getChildren("/zkClient/a");
33         System.out.println(list);
34
35
36         //watcher(订阅获取)
37         zkClient.subscribeDataChanges("/node", new IZkDataListener() {
38
39             @Override
40             public void handleDataDeleted(String dataPath) throws Exception {
41                 // TODO Auto-generated method stub
42
43             }
44
45             @Override
46             public void handleDataChange(String dataPath, Object data) throws Exception {
47                 // TODO Auto-generated method stub
48                 System.out.println("节点名称:"+dataPath+"->节点修改后的值"+data);
49             }
50         });
51
52         zkClient.writeData("/node", "123");//修改节点的数据
53         TimeUnit.SECONDS.sleep(2);//上述事件是异步的,需要睡两秒
54
55         zkClient.subscribeChildChanges("/node", new IZkChildListener() {
56
57             @Override
58             public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {
59                 // TODO Auto-generated method stub
60
61             }
62         });
63     }
64 }

原文地址:https://www.cnblogs.com/LJing21/p/10537254.html

时间: 2024-11-06 13:57:31

zookeeper客户端使用第三方(zkclient)封装的Api操作节点的相关文章

Zookeeper 客户端 之【ZkClient】

[ZkClient]  ZkClient 是 GitHub 上一个开源的客户端,如果我们用 Maven 来管理工程,则引用如下. <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.10</version> </dependency> <dependency

谷歌封装的API操作数据库

插入 删除 更新 查询 原文地址:https://www.cnblogs.com/wulinmiao/p/12231700.html

ZooKeeper客户端原生API的使用以及ZkClient第三方API的使用

这两部分内容的介绍主要讲的是节点及节点内容和子节点的操作,并且讲解的节点的事件监听以及ACL授权 ZooKeeper客户端原生API的使用 百度网盘地址: http://pan.baidu.com/s/1jI3b8n8 ZkClient第三方API的使用 ZkClient是Github上一个开源的ZooKeeper客户端.ZkClient在ZooKeeper原生API之上进行了包装,是一个更加易用的ZooKeeper客户端.同时ZkClient在内部实现了诸如Session超时重连.Watche

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

一.Zookeeper原生API如何进行调用 准备工作: 首先在新建一个maven项目ZK-Demo,然后在pom.xml里面引入zk的依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.10</version> </dependency> 1. 连接zk并

Zookeeper客户端Curator基本API

在使用zookeper的时候一般不使用原生的API,Curator,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连.反复注册Watcher和NodeExistsException异常等等. Curator包含了几个包: curator-framework:对zookeeper的底层api的一些封装 curator-client:提供一些客户端的操作,例如重试策略等 curator-recipes:封装了一些高级特性,如:Cache事件监听.选举.分布式锁.分布式计数器.分

Zookeeper客户端API之创建会话(六)

Zookeeper对外提供了一套Java的客户端API.本篇博客主要讲一下创建会话. 创建项目 首选,创建一个基于maven管理的简单java工程.在pom文件中引入zookeeper. <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.9</version> </d

Java API操作ZooKeeper

创建会话 1 package org.zln.zk; 2 3 import org.apache.zookeeper.WatchedEvent; 4 import org.apache.zookeeper.Watcher; 5 import org.apache.zookeeper.ZooKeeper; 6 7 import java.io.IOException; 8 9 /** 10 * Created by sherry on 16/8/27. 11 */ 12 public class

Zookeeper客户端介绍

客户端是开发人员使用Zookeeper的主要的途径,以下内容将对Zookeeper的内部原理进行详细的学习和讲解.ZooKeeper的客户端主要有一下几个核心组件组成: Zookeeper:提供客户端访问ZooKeeper服务器的API. ClientWatchManager:负责管理客户端注册的Watcher. HostProvider:客户端地址列表管理器. ClientCnxn:客户端核心线程,其内部包含连个线程及SendThread和EvnentThread.SendThread是一个I

Zookeeper客户端对比选择_4

Zookeeper客户端对比选择 本文思维导图 使用框架的好处是自带一套实用的API,但是Zookeeper虽然非常强大,但是社区却安静的可怕,版本更新较慢,下面会先从zookeeper原生API的不足说起,然后引出现在流行的开源客户端工具. 1.原生API 1.创建连接的时候是异步的,所以我们在开发的时候需要人工的写代码等待创建节点的状态,如果需要的话. 2.连接时无超时重连机制.本人觉得这个非常重要,因为在现实使用中,网络是不可信的,在创建节点的时候要考虑到网络的不稳定性.因此,超时重连机制