Zookeeper之Java API 简单应用
来源:互联网 发布:乌克丽丽调音软件 编辑:程序博客网 时间:2024/05/21 14:50
package com.zn.zookeeper;import java.util.List;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.ZooDefs.Ids;import org.apache.zookeeper.ZooKeeper;import org.apache.zookeeper.data.Stat;import org.junit.Before;import org.junit.Test;
//Zookeeper API 简单实用
public class SimpleZkClient {private static final String connectString = "zk01:2181,zk02:2181,zk03:2181";private static final int sessionTimeout = 2000;ZooKeeper zkClient = null;@Beforepublic void init() throws Exception {zkClient = new ZooKeeper(connectString, sessionTimeout, new Watcher() {public void process(WatchedEvent event) {// 收到事件通知后的回调函数(应该是我们自己的事件处理逻辑)System.out.println(event.getType() + "---" + event.getPath());try {zkClient.getChildren("/", true);} catch (Exception e) {}}});}/** * 数据的增删改查 * * @throws InterruptedException * @throws KeeperException */// 创建数据节点到zk中@Testpublic void testCreate() throws KeeperException, InterruptedException {// 参数1:要创建的节点的路径 参数2:节点的数据 参数3:节点的权限 参数4:节点的类型String nodeCreated = zkClient.create("/eclipse", "hellozk".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);//上传的数据可以是任何类型,但都要转成byte[]}//判断znode是否存在@Testpublic void testExist() throws Exception{Stat stat = zkClient.exists("/eclipse", false);System.out.println(stat==null?"not exist":"exist");}// 获取子节点@Testpublic void getChildren() throws Exception {//true表示 设置子节点变化的监听 List<String> children = zkClient.getChildren("/", true);for (String child : children) {System.out.println(child);}Thread.sleep(Long.MAX_VALUE);//为了看到结点变化收到的监听结果。}//获取znode的数据@Testpublic void getData() throws Exception {byte[] data = zkClient.getData("/eclipse", false, null);System.out.println(new String(data));}//删除znode@Testpublic void deleteZnode() throws Exception {//参数2:指定要删除的版本,-1表示删除所有版本zkClient.delete("/eclipse", -1);}//删除znode@Testpublic void setData() throws Exception {zkClient.setData("/app1", "I miss you XZY".getBytes(), -1);byte[] data = zkClient.getData("/app1", false, null);System.out.println(new String(data));}}
0 0
- Zookeeper之Java API 简单应用
- Zookeeper之JAVA API
- ZooKeeper之Java API
- ZooKeeper Java API简单示例
- zookeeper java客户端简单API
- Zookeeper Api(java)入门与应用(转)
- Zookeeper Api(java)入门与应用(转)
- Zookeeper Api(java)入门与应用(转)
- Zookeeper Api(java)入门与应用
- Zookeeper Api(java)入门与应用
- Zookeeper Api(java)入门与应用(转)
- Zookeeper Api(java)入门与应用
- Zookeeper Api(java)入门与应用
- Zookeeper Api(java)入门与应用(转)
- Zookeeper Api(java)入门与应用
- Zookeeper Api(java)入门与应用(转)
- Zookeeper Api(java)入门与应用(转)
- Zookeeper Api(java)入门与应用(转)
- oracle安装及使用常见错误
- java : jsp 使用 log4j.jar
- ioc的简单实现
- Collection接口
- 资料自动备份的脚本
- Zookeeper之Java API 简单应用
- Hash算法解决冲突的方法
- 2017.2.09【初中部 提高组】模拟赛C组 香樟树 题解
- 《Docker……》笔记-3 容器
- python中的各种编码问题的原因和解决方法
- Web应用设置Context Path的方式
- Hibernate学习笔记(一)
- 为什么注释很重要?
- 你对spring是如何理解的?