ZooKeeper3.4.5-最基本API开发
生活随笔
收集整理的這篇文章主要介紹了
ZooKeeper3.4.5-最基本API开发
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
package cn.itcast.bigdata.zk;import java.io.IOException; 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;public class SimpleZkClient {private static final String connectString = "mini1:2181,mini2:2181,mini3:2181";private static final int sessionTimeout = 2000;ZooKeeper zkClient = null;@Beforepublic void init() throws Exception {zkClient = new ZooKeeper(connectString, sessionTimeout, new Watcher() {@Overridepublic void process(WatchedEvent event) {// 收到事件通知后的回調函數(應該是我們自己的事件處理邏輯)System.out.println(event.getType() + "---" + event.getPath());try {zkClient.getChildren("/", true);} catch (Exception e) {}}});}/*** 數據的增刪改查* * @throws InterruptedException* @throws KeeperException*/// 創建數據節點到zk中public void testCreate() throws KeeperException, InterruptedException {// 參數1:要創建的節點的路徑 參數2:節點大數據 參數3:節點的權限 參數4:節點的類型String nodeCreated = zkClient.create("/eclipse", "hellozk".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);//上傳的數據可以是任何類型,但都要轉成byte[]}//判斷znode是否存在@Test public void testExist() throws Exception{Stat stat = zkClient.exists("/eclipse", false);System.out.println(stat==null?"not exist":"exist");}// 獲取子節點@Testpublic void getChildren() throws Exception {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", "imissyou angelababy".getBytes(), -1);byte[] data = zkClient.getData("/app1", false, null);System.out.println(new String(data));}}轉載于:https://my.oschina.net/hengbao666/blog/1632679
總結
以上是生活随笔為你收集整理的ZooKeeper3.4.5-最基本API开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到得病了是什么意思
- 下一篇: opencv 随笔