zookeeper客户端使用第三方(zkclient)封装的Api操作节点
- 引入依赖
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
- 会话连接
package com.karat.cn.zookeeper.zkclient; import org.I0Itec.zkclient.ZkClient;
/**
* 创建会话(连接zookeeper)
* @author 开发
*
*/
public class SessionDemo { private final static String CONNECTSTRING="47.107.121.215:2181"; public static void main(String[] args) {
ZkClient zkClient=new ZkClient(CONNECTSTRING,4000);
System.out.println(zkClient+" - > success连接");
}
}
- 节点简单操作
package com.karat.cn.zookeeper.zkclient; import java.util.List;
import java.util.concurrent.TimeUnit; import org.I0Itec.zkclient.IZkChildListener;
import org.I0Itec.zkclient.IZkDataListener;
import org.I0Itec.zkclient.ZkClient;
/**
* 节点操作
* @author Administrator
*
*/
public class ZkClientApiOperatorDemo { private final static String CONNECTSTRING="47.107.121.215:2181"; private static ZkClient getInstance(){
return new ZkClient(CONNECTSTRING,10000);//10000是连接超时时间
} public static void main(String[] args) throws InterruptedException {
ZkClient zkClient=getInstance();//连接
//zkClient.createEphemeral("/zkClient");//创建临时节点
//zkClient中提供递归创建父节点的功能
//zkClient.createPersistent("/zkClient/a/b/c/d",true);//创建持久化节点
//删除节点
//zkClient.delete("/zkClient");
//递归删除节点
//zkClient.deleteRecursive("/zkClient");
//获取子节点
List<String> list=zkClient.getChildren("/zkClient/a");
System.out.println(list); //watcher(订阅获取)
zkClient.subscribeDataChanges("/node", new IZkDataListener() { @Override
public void handleDataDeleted(String dataPath) throws Exception {
// TODO Auto-generated method stub } @Override
public void handleDataChange(String dataPath, Object data) throws Exception {
// TODO Auto-generated method stub
System.out.println("节点名称:"+dataPath+"->节点修改后的值"+data);
}
}); zkClient.writeData("/node", "123");//修改节点的数据
TimeUnit.SECONDS.sleep(2);//上述事件是异步的,需要睡两秒 zkClient.subscribeChildChanges("/node", new IZkChildListener() { @Override
public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {
// TODO Auto-generated method stub }
});
}
}
zookeeper客户端使用第三方(zkclient)封装的Api操作节点的更多相关文章
- zookeeper客户端使用第三方(Curator)封装的Api操作节点
1.为什么使用Curator? Curator本身是Netflix公司开源的zookeeper客户端: Curator 提供了各种应用场景的实现封装: curator-framework 提供了f ...
- Java 封装 HDFS API 操作
代码下载地址:点击下载 一:环境介绍 hadoop:2.6 Ubuntu:15.10 eclipse:3.8.1 二:操作包含 推断某个目录是否存在 isExist(fold ...
- ZooKeeper客户端原生API的使用以及ZkClient第三方API的使用
这两部分内容的介绍主要讲的是节点及节点内容和子节点的操作,并且讲解的节点的事件监听以及ACL授权 ZooKeeper客户端原生API的使用 百度网盘地址: http://pan.baidu.com/s ...
- Zookeeper系列三:Zookeeper客户端的使用(Zookeeper原生API如何进行调用、ZKClient、Curator)和Zookeeper会话
一.Zookeeper原生API如何进行调用 准备工作: 首先在新建一个maven项目ZK-Demo,然后在pom.xml里面引入zk的依赖 <dependency> <groupI ...
- 聊聊、Zookeeper 客户端 ZkClient
[ZkClient] ZkClient 是 GitHub 上一个开源的客户端,如果我们用 Maven 来管理工程,则引用如下. <dependency> <groupId>o ...
- Zookeeper客户端Curator基本API
在使用zookeper的时候一般不使用原生的API,Curator,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连.反复注册Watcher和NodeExistsExceptio ...
- zookeeper(六):Zookeeper客户端Curator的API使用详解
简介 Curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连.反复注册Watcher和NodeExistsEx ...
- Zookeeper客户端使用(使用zkclient)
Zookeeper客户端使用 二.使用zkclient 在pom.xml中加入依赖 <dependency> <groupId>com.101tec</groupId&g ...
- Java API操作ZooKeeper
创建会话 package org.zln.zk; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watch ...
随机推荐
- jackson 进行json与java对象转换 之四
jackson简单使用,对象转json,json转对象,json转list POJO序列化为json字符串: 准备一个POJO: @JsonIgnoreProperties(ignoreUnkno ...
- leetcode398
public class Solution { int[] nums; Random rnd; public Solution(int[] nums) { this.nums = nums; this ...
- easyui中 combogrid控件的loadData方法加载本地数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- The Independent JPEG Group's JPEG software Android源码中 JPEG的ReadMe文件
The Independent JPEG Group's JPEG software========================================== README for rele ...
- strophe与openfire模拟的XMPP简单hello程序
/* * 参考<XMPP高级编程+使用JavaScript和jQuery>第三章例子. * 我修改了作者的XMPP服务器到本地的openfire.JavaScript跨域请求,使用Ngin ...
- 原来windows里记事本的ansi编码就是GB2312啊,跟utf-8,unicode是不一样的。
原来windows里记事本的ansi编码就是GB2312啊,跟utf-8,unicode是不一样的. 程序里的比如java的,Qt的string都是unicode的字符串,因此如果是你从文件中读取文字 ...
- Ajax02 什么是json、json语法、json的使用、利用jQuery实现ajax
目录 1什么是json 2json语法 3json的使用 4利用jQuery实现ajax编程 1 什么是json JavaScript Object Notation(JavaScript 对象表示法 ...
- conda 添加bioconda源,创建/删除/重命名环境
1.conda安装 在https://repo.continuum.io/miniconda/选择conda版本 wget "https://repo.continuum.io/archiv ...
- ZROI2018提高day6t1
传送门 分析 我们发现这个四元组可以分解成一个逆序对拼上一个顺序对,这个线段树搞搞然后乘一下就可以求出来了,但是我们发现可能有(a,b)为逆序对且(b,c)为顺序对的情况,所以要进行容斥,我们只需要枚 ...
- 85D Sum of Medians
传送门 题目 In one well-known algorithm of finding the k-th order statistics we should divide all element ...