Zookeeper簡單使用

連接

CountDownLatch cdl = new CountDownLatch(1);    初始化線程爲1

countDownLatch 閉鎖(線程遞減鎖) countDown()   await() 對線程進行計數,當計數歸0會放開阻塞重新計數

ZooKeeper zk = new ZooKeeper("IP:2181" ,會話超時時間(毫秒),new Watcher(){//監控者,監控連接狀態

          public void process(WatchedEvent event){

                 if(event.getStatus() == KeeperState.SyncConnected){

                       System.out.println("連接成功");

                   cdl.coundown(); 線程數減一

}}} );

                   cdl.await();  //放開阻塞狀態

使用

創建節點        zk.create("/節點名",“節點值必須要寫值”.getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);

節點類型:持久節點              PERSISTENT    

                  臨時節點              EPHEMERAL

                  持久順序節點       PERSISTENT_SEQUENTIAL

                  臨時順序節點       EPHEMERAL_SEQUENTIAL

更新節點        Stat s = zk.setData("/節點名",“更新的值”.getBytes(),0);   返回節點信息  用Stat接收

獲取節點數據 byte[] data = zk.getData("/節點名稱", null, new Stat());  null是watch監控者,沒有監控者爲空

刪除節點        zk.delete("/節點名",0); 0是數據版本   如果相同則刪除,否則不做處理  -1是強制刪除

判斷節點是否存在   zk.exists("節點名",null); null是watch null是沒有

獲取子節點    List<String> nodes = zk.getChildren("/" ,null);  遍歷就可以看到結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章