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時,則該節點不存在。
