持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第12天,点击查看活动详情、
java-api-Watcher通知状态
KeeperState是客户端与服务端连接状态发生变化时对应的通知类型,并且是一个枚举类,枚举属性包含:
- SyncConnected:客户端与服务器正常连接时
- Disconnected:客户端与服务器断开连接时
- Expired:会话session失效时
- AuthFailed:身份认证失败时
java-api-Watcher事件类型
zookeeper包中描述watcher事件类型的类是EventType。当EventType变化时, KeeperState是一定处于SyncConnected通知状态下;而当KeeperState发生变化时, EventType一定为None。 EventType也是一个枚举类,枚举属性:
- None:无
- NodeCreated:Watcher监听的数据节点被创建时
- NodeDeleted:Watcher监听的数据节点被删除时
- NodeDataChanged:Watcher监听的数据节点内容发生变更时
- NodeChildrenChanged:Watcher监听的数据节点的子节点列表发生变更时
检查节点是否存在
exists(String path, boolean b)
exists(String path, Watcher w)
方法1表示使用连接对象的监视器,方法2表示自定义监视器
其中path参数表示znode的路径、b表示是否使用连接对象时注册的监听器,w表示自定义的监视器对象
查看节点
getData(String path, boolean b, Stat stat)
getData(String path, Watcher w, Stat stat)
方法1表示使用连接对象的监视器,方法2表示自定义监视器,方法返回一般有两种结果:NodeDeleted(节点删除)、NodeDataChanged(节点内容发生变化)
方法中的参数path表示znode的路径、b表示是否使用连接对象时注册的监听器,w表示自定义的监视器对象、stat表示返回znode的元数据
查看子节点
getChildren(String path, boolean b)
getChildren(String path, Watcher w)
方法1表示使用连接对象的监视器、方法2表示自定义监视器,方法返回一般也有两种结果:NodeDeleted、NodeDataChanged