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