Zookeeper:JavaApi更新、刪除、讀取節點


1.更新

同步方式:

/**
         * 三個參數
         * the path of the node
         * the data to set
         * the expected matching version
         */
        Stat stat = zooKeeper.setData("/set/node1", "NODE1".getBytes(), 1);

 返回值Stat中封裝了set命令中的返回值,可以通過Stat的各種get方法去獲取。

 異步方式:

zooKeeper.setData("/set/node1", "nnn".getBytes(), -1, new AsyncCallback.StatCallback() {
            public void processResult(int rc, String path, Object ctx, Stat stat) {
                System.out.println(rc);//0代表修改成功
                System.out.println(path);//節點路徑
                System.out.println(ctx);//上下文參數
                System.out.println(stat);//屬性描述對象
            }
        },"ctx");

 打印結果:

 

 2.刪除

同步方式:

        /**
         * @param path
         *       the path of the node to be deleted.
         *  @param version
         *       the expected node version. 當為-1時,表示不考慮當前節點的版本信息。
        */
        zooKeeper.delete("/delete/node1",0);

異步方式:

        //VoidCallback:異步回調接口
        zooKeeper.delete("/delete/node2", -1, new AsyncCallback.VoidCallback() {
            public void processResult(int rc, String path, Object ctx) {
                System.out.println(rc);//0表示刪除成功
                System.out.println(path);//節點路徑
                System.out.println(ctx);//上下文信息
            }
        },"ctx");

打印結果:

 

 

 3.讀取

getData(String path,boolean b,Stat stat)   同步方式
getData(String path,boolean b,AsyncCallback.DataCallback callBack,Object ctx)  異步方式

path:znode路徑

b:是否使用連接對象中注冊的監視器。

stat:返回znode的元數據。

callBack:異步回調接口。

ctx:傳遞上下文參數。

4.查看子節點

List<String> getChildren(String path,boolean b)   同步方式
List<String> getChildren(String path,boolean b,AsyncCallback.DataCallback callBack,Object ctx) 異步方式

path:znode路徑

b:是否使用連接對象中注冊的監視器。

callBack:異步回調接口。

ctx:傳遞上下文參數。

5.判斷節點是否存在

Stat exist(String path,boolean b)   同步方式
Stat exist(String path,boolean b,AsyncCallback.DataCallback callBack,Object ctx) 異步方式

 當Stat為null時,則該節點不存在。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM