java链接zookeeper
来源:互联网 发布:akgy50淘宝哪家是真货 编辑:程序博客网 时间:2024/06/05 07:55
服务器通信以及跨平台通信中会遇到zookeeper这个东西,至于什么是zookeeper,google it!
为了测试这块的东西,必须要懂zookeeper工作原理,因此,本人整理了一下zookeeper的一般用法便于理解,以及更好的测试~~
package com.kiven.test;import java.io.IOException;import java.util.concurrent.CountDownLatch;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.ZooKeeper;import org.apache.zookeeper.Watcher.Event.KeeperState;public class Demo implements Watcher { //缓存时间 private static final int SESSION_TIME = 2000; protected ZooKeeper zooKeeper; protected CountDownLatch countDownLatch= new CountDownLatch(1); public void connect(String hosts) throws IOException, InterruptedException{ zooKeeper = new ZooKeeper(hosts, SESSION_TIME, this); countDownLatch.await(); } /* (non-Javadoc) * @see org.apache.zookeeper.Watcher#process(org.apache.zookeeper.WatchedEvent) */ public void process(WatchedEvent event) { // TODO Auto-generated method stub if(event.getState()==KeeperState. SyncConnected){ countDownLatch.countDown(); } } public void close() throws InterruptedException{ zooKeeper.close(); }}=================================================================================================================================package com.kiven.test;import java.util.List;import org.apache.log4j.PropertyConfigurator;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.ZooDefs.Ids;public class MyTest extends Demo{ /** * *<b> function:</b> 创建持久态的znode,比支持多层创建.比如在创建/parent/child的情况下,无/parent.无法通过 *@author cuiran *@createDate 2013 -01 -16 15:08:38 *@param path *@param data *@throws KeeperException *@throws InterruptedException */ public void create(String path, byte[] data) throws KeeperException, InterruptedException{ /** * 此处采用的是CreateMode是PERSISTENT 表示The znode will not be automatically deleted upon client's disconnect. * EPHEMERAL 表示The znode will be deleted upon the client's disconnect. */ this. zooKeeper.create(path, data, Ids. OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); } /** * *<b> function:</b> 获取节点信息 *@author cuiran *@createDate 2013 -01 -16 15:17:22 *@param path *@throws KeeperException *@throws InterruptedException */ public void getChild(String path) throws KeeperException, InterruptedException{ try{ List<String> list= this. zooKeeper.getChildren(path, false); if(list.isEmpty()){ System. out.println(path+ "中没有节点" ); } else{ System. out.println(path+ "中存在节点" ); for(String child:list){ System. out.println( "节点为:"+child); } } } catch (KeeperException.NoNodeException e) { // TODO: handle exception throw e; } } public byte[] getData(String path) throws KeeperException, InterruptedException { return this. zooKeeper.getData(path, false, null); } public static void main(String args[]){ PropertyConfigurator. configure("log4j.properties"); try { MyTest zkoperator = new MyTest(); zkoperator.connect( "172.16.3.9"); // byte[] data = new byte[]{'a','b','c','d'}; // zkoperator.create("/root",null); // System.out.println(Arrays.toString(zkoperator.getData("/root"))); // // zkoperator.create("/root/child1",data); // System.out.println(Arrays.toString(zkoperator.getData("/root/child1"))); // // zkoperator.create("/root/child2",data); // System.out.println(Arrays.toString(zkoperator.getData("/root/child2"))); String zktest= "ZooKeeper的Java API测试" ; zkoperator.create( "/test", zktest.getBytes()); zkoperator.create( "/test/test1", zktest.getBytes()); System. out.println( "获取设置的信息:" +new String(zkoperator.getData("/test" ))); System. out.println( "节点孩子信息:" ); zkoperator.getChild( "/test"); zkoperator.close(); } catch (Exception e) { e.printStackTrace(); } }}
- java链接zookeeper
- Java链接Zookeeper
- Zookeeper技术文章链接收藏
- Zookeeper 03 Java访问Zookeeper
- Dubbo 管控台如何链接zookeeper集群
- Curator链接zookeeper实现分布式锁
- zookeeper搭建以及Java连接zookeeper测试
- 【Zookeeper系列三】ZooKeeper Java API使用
- [ZooKeeper]ZooKeeper Java客户端ACL API
- Zookeeper Java API
- java 操作 zookeeper API
- Zookeeper Java API 实例
- Zookeeper API JAVA 解析
- ZooKeeper Java Example
- zookeeper-java bings
- Zookeeper JAVA API
- Zookeeper的Java客户端
- Zookeeper Java API
- JAVA为什么要配置环境变量,…
- tomcat7.0.2的环境配置
- 2013年08月19日
- Java Struts2 POI创建Excel文件并实现文件下载
- Python的Socket编程教程
- java链接zookeeper
- MFC 中文截断时保证完整汉字
- 数据结构—环状链表瞎搞
- cocos2d-x 报错信息记录
- Find symbols 对话框
- tomcat 启动进不去欢迎界面原因
- ecshop表结构分析
- JPS自定义标签初体验。
- 【fedora12】vlc-2.0.0编译