国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

如何使用Java操作Zookeeper

瀏覽:61日期:2022-08-13 11:57:44
簡介

Java操作Zookeeper有很多種方式,如zookeeper、zkclient、curator等等,下面介紹下使用zkclient的方式操作Zookeeper。

Maven依賴:

<dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.11</version></dependency>使用zkclient操作Zookeeper

創建節點:

@Testpublic void testCreateNode() {//建立連接//zkServers: Zookeeper服務器IP地址和端口號,如果是集群情況下用逗號分割多個Zookeeper服務器地址//sessionTimeout: 會話超時時間//connectionTimeout: 連接超時時間ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);//創建數據Student student = new Student();student.setName('張三');student.setAge(18);student.setPhone('1585454xxxx');//創建持久節點zkClient.createPersistent('/p_node', student);//創建持久順序節點zkClient.createPersistentSequential('/ps_node', student);//創建臨時節點zkClient.createEphemeral('/e_node', student);//創建臨時順序節點zkClient.createEphemeralSequential('/ps_node', student);//關閉客戶端//關閉客戶端的同時,前面創建的臨時節點也會被刪除zkClient.close();}

讀取節點數據:

@Testpublic void testReadNodeData() {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);Stat stat = new Stat();Student student = zkClient.readData('/p_node', stat);System.out.println('節點狀態信息:' + JSON.toJSONString(student));System.out.println('節點數據:' + JSON.toJSONString(stat));zkClient.close();}//輸出結果://節點狀態信息:{'age':18,'name':'張三','phone':'1585454xxxx'}//節點數據:{'aversion':0,'ctime':1619165355431,'cversion':0,'czxid':165,'dataLength':260,'ephemeralOwner':0,'mtime':1619165355431,'mzxid':165,'numChildren':0,'pzxid':165,'version':0}

刪除節點:

@Testpublic void testDeleteNode() {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);//刪除節點,不能刪除帶有子節點的節點zkClient.delete('/p_node');//刪除節點,遞歸刪除所有子孫節點zkClient.deleteRecursive('/p_node2');zkClient.close();}

更新節點數據:

@Testpublic void testWriteNodeData() {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);//更新節點數據zkClient.writeData('/p_node', 'myData1');//使用CAS更新節點數據//zkClient.writeData('/p_node', 'myData2', 1);zkClient.close();}

獲取子節點列表:

@Testpublic void testGetChildNodes() {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);//獲取子節點列表List<String> childList = zkClient.getChildren('/p_node');childList.stream().forEach(System.out::println);zkClient.close();}節點監聽

Java節點監聽都是永久的,觸發一次后不會被刪除。

監聽節點的子節點變化:

@Testpublic void testSubscribeChildChanges() throws IOException {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);zkClient.subscribeChildChanges('/p_node', new IZkChildListener(){//子節點改變時調用@Overridepublic void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {System.out.println(parentPath + '子節點發生改變');System.out.println('當前子節點列表:' + currentChilds);}});//阻塞客戶端,便于測試System.in.read();}

監聽節點數據變化:

@Testpublic void testSubscribeDataChanges() throws IOException {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);zkClient.subscribeDataChanges('/p_node', new IZkDataListener(){//節點數據改變時調用@Overridepublic void handleDataChange(String dataPath, Object data) throws Exception {System.out.println(dataPath + '節點數據發生變化');System.out.println('修改后的數據為:' + data.toString());}//節點被刪除時調用@Overridepublic void handleDataDeleted(String dataPath) throws Exception {System.out.println(dataPath + '節點已被刪除');}});//阻塞客戶端,便于測試System.in.read();}

監聽Zookeeper連接狀態變化:

@Testpublic void testSubscribeStateChanges() throws IOException {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);zkClient.subscribeStateChanges(new IZkStateListener(){//當zookeeper連接狀態改變時調用@Overridepublic void handleStateChanged(Watcher.Event.KeeperState state) throws Exception {System.out.println('當前狀態' + state);}//在zookeeper會話過期并且創建了一個新的會話之后調用@Overridepublic void handleNewSession() throws Exception {System.out.println('會話過期,已創建新的會話');}//當會話不能重新建立時調用@Overridepublic void handleSessionEstablishmentError(Throwable error) throws Exception {error.printStackTrace();}});//阻塞客戶端,便于測試System.in.read();}

以上就是如何使用Java操作Zookeeper的詳細內容,更多關于Java操作Zookeeper的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 午夜一级毛片免费视频 | fulidown国产精品合集 | 成人在线免费观看 | 午夜宅男在线永远免费观看网 | 黄色a网站 | 高清国产精品久久 | 26uuu影院亚洲欧美综合 | 中文字幕日韩精品中文区 | 国产亚洲精品日韩已满十八 | 久久成人18免费网站 | 中文字字幕码一二区 | 91手机看片国产福利精品 | 国产成人精品免费视频网页大全 | 欧美日韩视频在线第一区 | 艳女伦交一级毛片 | a在线v| 日韩美女在线看免费观看 | 国产视频99| 亚洲精品综合一区在线 | 亚洲精品国产一区二区图片欧美 | 免费久久精品视频 | 久久久久久久一线毛片 | 一级一片免费看 | 日韩一级在线视频 | 精品国产欧美精品v | 日本a级毛片免费观看 | 亚洲欧美性视频 | 亚洲伦理天堂 | 欧美日韩国产人成在线观看 | 成人黄网18免费观看的网站 | 亚洲人成在线播放网站岛国 | 欧美一区二区视频三区 | 欧美日韩在线观看视频 | 日本护士一级毛片在线播放 | 拍真实国产伦偷精品 | 成人区精品一区二区毛片不卡 | 99在线视频网站 | 亚洲最新 | 久久精品久久久 | 欧美亚洲国产激情一区二区 | 亚洲精品国产一区二区三区四区 |