ZooKeeper API使用 I 其他API的使用

其他原生API,例如:修改节点、删除节点、节点检查是否存在和节点操作权限控制,Zookeeper提供的方法的使用方式与前面操作类似,具体使用案例不再逐一用实例说明。

修改节点

// 同步修改
public Stat setData(final String path, byte data[], int version)
// 异步修改
public void setData(final String path, byte data[], int version, StatCallback cb, Object ctx)

这里列出的两个API分别是同步和异步的修改接口,API方法的参数说明如下表所示:

参数名说明
path操作节点路径
data[]要覆盖现有节点内容的字节数组
version指定更新节点的数据版本。当为-1时表示任何版本
cb注册一个回调函数
ctx传递上下文信息

说明:

  • 更新操作中的版本参数如果为-1,则表示更新操作针对任何版本均可。当更新版本不为-1,且不等于节点的目前版本,则更新失败。
  • 即使 data[] 的数据跟原有节点内的数据一样,进行更新操作之后,节点的信息也会发生变化,比如版本信息和更新时间。
  • 异步操作与同步操作的区别可参考之前章节的类似接口。
删除节点

public void delete(final String path, int version)
public void delete(final String path, int version, VoidCallback cb, Object ctx)

这里列出的两个API分别是同步和异步的删除接口,API方法的参数说明如下表所示:

参数名说明
path操作节点路径
version指定更新节点的数据版本。当为-1时表示任何版本
cb注册一个回调函数
ctx传递上下文信息

说明

  • 版本操作同修改节点使用方法。
  • 如果一个节点下面有子节点,需先删除子节点,然后才能删除父节点。
节点检查是否存在

原生API提供4个相应的方法,通过这些方法,可以检查节点是否存在,返回节点Stat信息,对节点进行注册监听事件等操作。

public Stat exists(final String path, Watcher watcher)
public Stat exists(String path, boolean watch)
public void exists(final String path, Watcher watcher, StatCallback cb, Object ctx)
public void exists(String path, boolean watch, StatCallback cb, Object ctx)
参数名说明
path操作节点路径
watcher注册Watcher,用于监听节点创建、节点删除、节点更新事件。
watch是否使用默认watcher
cb注册一个回调函数
ctx传递上下文信息

说明

  • 无论节点是否存在使用exists方法都可以进行监听注册。节点不存在时注册监听之后,当节点被创建则会通知客户端。
  • 指定节点的子节点的变化不会通知客户端。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值