zookeeper javaAPI

2021-02-19  本文已影响0人  小石读史

znode是zooKeeper集合的核心组件,zookeeper API提供了一小组方法使用 zookeeper集合来操纵znode的所有细节。

1.连接到ZooKeeper

ZooKeeper(String connectionString, int sessionTimeout, Watcher watcher)

connectionString : zookeeper主机
sessionTimeout :会话超时(以毫秒为单位)
watcher :实现“监视器”对象。zookeeper集合通过监视器对象返回连接状态。

2.新增节点

// 同步方式 
create(String path, byte[] data, List<ACL> acl, CreateMode createMode) 
// 异步方式
 create(String path, byte[] data, List<ACL> acl, CreateMode createMode, AsyncCallback.StringCallback callBack,Object ctx)

path : znode路径。例如,/node1 /node1/node11
data : 要存储在指定znode路径中的数据
acl : 要创建的节点的访问控制列表。zookeeper API提供了一个静态接口 ZooDefs.Ids 来获取一些基本的acl列表。如ZooDefs.Ids.OPEN_ACL_UNSAFE 返回打开znode的acl列表。
createMode : 节点的类型,这是一个枚举。
callBack:异步回调接口
ctx:传递上下文参数

3.更新节点

// 同步方式 
setData(String path, byte[] data, int version) 
// 异步方式 
setData(String path, byte[] data, int version,AsyncCallback.StatCallback callBack, Object ctx)

path: znode路径
data :要存储在指定znode路径中的数据。
version: znode的当前版本。每当数据更改时,ZooKeeper会更新znode的版本 号。
callBack:异步回调接口
ctx:传递上下文参数

4.删除节点

// 同步方式 
delete(String path, int version) 
// 异步方式 
delete(String path, int version, AsyncCallback.VoidCallback callBack, Object ctx)

path : znode路径。
version : znode的当前版本
callBack:异步回调接口
ctx:传递上下文参数

5.查看节点

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

path : znode路径。
b:是否使用连接对象中注册的监视器。
stat : 返回znode的元数据。
callBack:异步回调接口
ctx:传递上下文参数

6.查看子节点

// 同步方式 
getChildren(String path, boolean b) 
// 异步方式 
getChildren(String path, boolean b,AsyncCallback.ChildrenCallback callBack,Object ctx)

path :Znode路径。
b: 是否使用连接对象中注册的监视器。
callBack:异步回调接口。
ctx:传递上下文参数

7.检查节点是否存在

// 同步方法 
exists(String path, boolean b) 
// 异步方法 
exists(String path, boolean b,AsyncCallback.StatCallback callBack,Object ctx)

path:znode路径。
b:是否使用连接对象中注册的监视器。
callBack:异步回调接口。
ctx:传递上下文参数

上一篇 下一篇

猜你喜欢

热点阅读