Java API如何实现节点的更新、删除与读取操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计562个文字,预计阅读时间需要3分钟。
1. 更新+同步方式:/ *** 三个参数 + * 节点路径 + * 要设置的数据 + * 预期匹配版本 + / Stat stat=zooKeeper.setData(/set/node1, NODE1.getBytes(), 1); 返回值Stat中封装了set命令中的返回值,可。
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时,则该节点不存在。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计562个文字,预计阅读时间需要3分钟。
1. 更新+同步方式:/ *** 三个参数 + * 节点路径 + * 要设置的数据 + * 预期匹配版本 + / Stat stat=zooKeeper.setData(/set/node1, NODE1.getBytes(), 1); 返回值Stat中封装了set命令中的返回值,可。
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时,则该节点不存在。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

