日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

14.ZooKeeper Java API 使用样例

發(fā)布時間:2025/3/20 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 14.ZooKeeper Java API 使用样例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)自:http://www.aboutyun.com/thread-7332-1-1.html

1 package com.taobao.taokeeper.research.sample; 2 3 import java.io.IOException; 4 import java.util.concurrent.CountDownLatch; 5 6 import org.apache.zookeeper.CreateMode; 7 import org.apache.zookeeper.KeeperException; 8 import org.apache.zookeeper.WatchedEvent; 9 import org.apache.zookeeper.Watcher; 10 import org.apache.zookeeper.Watcher.Event.KeeperState; 11 import org.apache.zookeeper.ZooDefs.Ids; 12 import org.apache.zookeeper.ZooKeeper; 13 14 import common.toolkit.java.util.ObjectUtil; 15 16 /** 17 * ZooKeeper Java Api 使用樣例<br> 18 * ZK Api Version: 3.4.3 19 * 20 * @author nileader/nileader@gmail.com 21 */ 22 public class JavaApiSample implements Watcher { 23 24 private static final int SESSION_TIMEOUT = 10000; 25 private static final String CONNECTION_STRING = "test.zookeeper.connection_string:2181"; 26 private static final String ZK_PATH = "/nileader"; 27 private ZooKeeper zk = null; 28 29 private CountDownLatch connectedSemaphore = new CountDownLatch( 1 ); 30 31 /** 32 * 創(chuàng)建ZK連接 33 * @param connectString ZK服務器地址列表 34 * @param sessionTimeout Session超時時間 35 */ 36 public void createConnection( String connectString, int sessionTimeout ) { 37 this.releaseConnection(); 38 try { 39 zk = new ZooKeeper( connectString, sessionTimeout, this ); 40 connectedSemaphore.await(); 41 } catch ( InterruptedException e ) { 42 System.out.println( "連接創(chuàng)建失敗,發(fā)生 InterruptedException" ); 43 e.printStackTrace(); 44 } catch ( IOException e ) { 45 System.out.println( "連接創(chuàng)建失敗,發(fā)生 IOException" ); 46 e.printStackTrace(); 47 } 48 } 49 50 /** 51 * 關閉ZK連接 52 */ 53 public void releaseConnection() { 54 if ( !ObjectUtil.isBlank( this.zk ) ) { 55 try { 56 this.zk.close(); 57 } catch ( InterruptedException e ) { 58 // ignore 59 e.printStackTrace(); 60 } 61 } 62 } 63 64 /** 65 * 創(chuàng)建節(jié)點 66 * @param path 節(jié)點path 67 * @param data 初始數(shù)據(jù)內(nèi)容 68 * @return 69 */ 70 public boolean createPath( String path, String data ) { 71 try { 72 System.out.println( "節(jié)點創(chuàng)建成功, Path: " 73 + this.zk.create( path, // 74 data.getBytes(), // 75 Ids.OPEN_ACL_UNSAFE, // 76 CreateMode.EPHEMERAL ) 77 + ", content: " + data ); 78 } catch ( KeeperException e ) { 79 System.out.println( "節(jié)點創(chuàng)建失敗,發(fā)生KeeperException" ); 80 e.printStackTrace(); 81 } catch ( InterruptedException e ) { 82 System.out.println( "節(jié)點創(chuàng)建失敗,發(fā)生 InterruptedException" ); 83 e.printStackTrace(); 84 } 85 return true; 86 } 87 88 /** 89 * 讀取指定節(jié)點數(shù)據(jù)內(nèi)容 90 * @param path 節(jié)點path 91 * @return 92 */ 93 public String readData( String path ) { 94 try { 95 System.out.println( "獲取數(shù)據(jù)成功,path:" + path ); 96 return new String( this.zk.getData( path, false, null ) ); 97 } catch ( KeeperException e ) { 98 System.out.println( "讀取數(shù)據(jù)失敗,發(fā)生KeeperException,path: " + path ); 99 e.printStackTrace(); 100 return ""; 101 } catch ( InterruptedException e ) { 102 System.out.println( "讀取數(shù)據(jù)失敗,發(fā)生 InterruptedException,path: " + path ); 103 e.printStackTrace(); 104 return ""; 105 } 106 } 107 108 /** 109 * 更新指定節(jié)點數(shù)據(jù)內(nèi)容 110 * @param path 節(jié)點path 111 * @param data 數(shù)據(jù)內(nèi)容 112 * @return 113 */ 114 public boolean writeData( String path, String data ) { 115 try { 116 System.out.println( "更新數(shù)據(jù)成功,path:" + path + ", stat: " + 117 this.zk.setData( path, data.getBytes(), -1 ) ); 118 } catch ( KeeperException e ) { 119 System.out.println( "更新數(shù)據(jù)失敗,發(fā)生KeeperException,path: " + path ); 120 e.printStackTrace(); 121 } catch ( InterruptedException e ) { 122 System.out.println( "更新數(shù)據(jù)失敗,發(fā)生 InterruptedException,path: " + path ); 123 e.printStackTrace(); 124 } 125 return false; 126 } 127 128 /** 129 * 刪除指定節(jié)點 130 * @param path 節(jié)點path 131 */ 132 public void deleteNode( String path ) { 133 try { 134 this.zk.delete( path, -1 ); 135 System.out.println( "刪除節(jié)點成功,path:" + path ); 136 } catch ( KeeperException e ) { 137 System.out.println( "刪除節(jié)點失敗,發(fā)生KeeperException,path: " + path ); 138 e.printStackTrace(); 139 } catch ( InterruptedException e ) { 140 System.out.println( "刪除節(jié)點失敗,發(fā)生 InterruptedException,path: " + path ); 141 e.printStackTrace(); 142 } 143 } 144 145 public static void main( String[] args ) { 146 147 JavaApiSample sample = new JavaApiSample(); 148 sample.createConnection( CONNECTION_STRING, SESSION_TIMEOUT ); 149 if ( sample.createPath( ZK_PATH, "我是節(jié)點初始內(nèi)容" ) ) { 150 System.out.println(); 151 System.out.println( "數(shù)據(jù)內(nèi)容: " + sample.readData( ZK_PATH ) + "\n" ); 152 sample.writeData( ZK_PATH, "更新后的數(shù)據(jù)" ); 153 System.out.println( "數(shù)據(jù)內(nèi)容: " + sample.readData( ZK_PATH ) + "\n" ); 154 sample.deleteNode( ZK_PATH ); 155 } 156 157 sample.releaseConnection(); 158 } 159 160 /** 161 * 收到來自Server的Watcher通知后的處理。 162 */ 163 @Override 164 public void process( WatchedEvent event ) { 165 System.out.println( "收到事件通知:" + event.getState() +"\n" ); 166 if ( KeeperState.SyncConnected == event.getState() ) { 167 connectedSemaphore.countDown(); 168 } 169 170 } 171 172 } 173 輸出結(jié)果: 174 收到事件通知:SyncConnected 175 176 節(jié)點創(chuàng)建成功, Path: /nileader, content: 我是節(jié)點初始內(nèi)容 177 178 獲取數(shù)據(jù)成功,path:/nileader 179 數(shù)據(jù)內(nèi)容: 我是節(jié)點初始內(nèi)容 180 181 更新數(shù)據(jù)成功,path:/nileader, stat: 42950186407,42950186408,1350820182392,1350820182406,1,0,0,232029990722229433,18,0,42950186407 182 183 獲取數(shù)據(jù)成功,path:/nileader 184 數(shù)據(jù)內(nèi)容: 更新后的數(shù)據(jù) 185 186 刪除節(jié)點成功,path:/nileader

?

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結(jié)

以上是生活随笔為你收集整理的14.ZooKeeper Java API 使用样例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天操妹子 | 亚洲天堂第一区 | 三上悠亚 在线观看 | 木下凛凛子av一区二区三区 | 久草综合网 | 日韩av无码久久 | 久久无码人妻精品一区二区三区 | 国产夫妇交换聚会群4p | 91青青青| 欧美午夜一区二区三区 | 人人综合网 | 一级黄在线观看 | 四虎影院永久 | 国产亚洲成人精品 | 大陆一级黄色片 | 稀缺小u女呦精品呦 | 国产一级做a爰片在线看免费 | 日韩片在线观看 | 成人国产精品免费观看 | 东北毛片| 亚洲精品国产精品国自产观看浪潮 | 91av视频在线观看 | 国产精品久久久久久久久久久久久久 | 男女视频免费观看 | 日本在线视频免费观看 | 一级特黄aa | 99精品在线观看 | 欧美交换配乱吟粗大25p | 奇米狠狠操 | 国产一级片a | 成人黄色在线看 | 国产亚洲视频在线观看 | 性色av一区二区三区在线观看 | 武侠古典av | 黑人一级视频 | 不卡视频在线观看免费 | 久久精品牌麻豆国产大山 | 欧美电影一区 | 日韩欧美一区二区三区视频 | 国产嫩草av | 日本亚洲最大的色成网站www | 综合天天色 | 国产嫩bbwbbw高潮 | 久久永久免费 | 18成人免费观看网站下载 | 国产麻豆影视 | 情侣黄网站免费看 | 日本三级韩国三级三级a级按摩 | xxx视频在线观看 | 国产精品无码内射 | 精品国产av一区二区三区 | 中文字幕亚洲一区二区三区 | 国产精品毛片一区视频播 | 97香蕉久久夜色精品国产 | 玖操| 欧美啪啪一区 | 亚洲人av在线 | 午夜亚洲视频 | 五月伊人网 | 日韩激情国产 | 麻豆免费在线播放 | 国内精品999 | 亚洲热在线视频 | 国产jizz18女人高潮 | 激情插插插 | 国产素人av| 兄弟兄弟全集免费观看 | 狠狠躁18三区二区一区传媒剧情 | 伊人精品在线视频 | 亚洲性生活网站 | 黄色一级片在线免费观看 | 久久亚洲一区二区三区四区 | 成人深夜在线观看 | 欧美精品videos另类日本 | 欧美激情精品久久久久久变态 | 伊人久久色 | 精品成人av一区二区三区 | 泽村玲子在线 | 天堂av资源在线 | 国产一区二区三区视频免费观看 | 九一网站在线观看 | 我看黄色一级片 | 天天综合天天 | 午夜精品一区二区三区在线观看 | 国产一区二区三区成人 | 很黄很色的视频 | 天海翼中文字幕 | 国产极品美女在线 | 日韩区在线| 亚洲人xxxx | 色婷婷国产精品综合在线观看 | 亚洲啪啪 | 男人激情网| 国内免费精品视频 | 五月天一区二区三区 | 日本成人免费视频 | 黄色av大全 | 99热影院 | jizz日本在线播放 |