码迷,mamicode.com
首页 > 其他好文 > 详细

Zookeeper如何正确设置和获取watcher

时间:2018-09-30 12:53:51      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:exists   type   获取   set   ali   table   .net   details   getc   

Watcher 设置是开发中最常见的,需要搞清楚watcher的一些基本特征,对于exists、getdata、getchild对于节点的不同操作会收到不同的 watcher信息

 

 

state=-112 会话超时状态
state= -113 认证失败状态
state=  1 连接建立中
state= 2 (暂时不清楚如何理解这个状态,ZOO_ASSOCIATING_STATE)
state=3 连接已建立状态
state= 999 无连接状态


type=1 创建节点事件
type=2 删除节点事件
type=3 更改节点事件
type=4 子节点列表变化事件
type= -1 会话session事件
type=-2 监控被移除事件

 

父节点的变更以及孙节点的变更都不会触发watcher,而对watcher本身节点以及子节点的变更会触发watcher,具体参照下表。

操作 方法 触发watcher watcher state watcher type watcher path
Create当前节点 getdata × × × ×
getchildren 3 4
exists × × × ×
set当前节点 getdata 3 3
getchildren × × × ×
exists 3 3
delete当前节点 getdata 3 2
getchildren 3 2
exists 3 2
create子节点 getdata × × × ×
getchildren 3 4
exists × × × ×
set子节点 getdata × × × ×
getchildren × × × ×
exists × × × ×
delete子节点 getdata × × × ×
getchildren 3 4
exists × × × ×
恢复连接 getdata 1 -1 ×
getchildren 1 -1 ×
exists 1 -1 ×
恢复连接session未超时 getdata -112 -1 ×
getchildren -112 -1 ×
exists -112 -1 ×
恢复连接session超时 getdata 3 -1 ×
getchildren 3 -1 ×
exists 3 -1 ×

注:×表示否,√表示是。
本文来自 曾经的学渣 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq910894904/article/details/41726279?utm_source=copy 

Zookeeper如何正确设置和获取watcher

标签:exists   type   获取   set   ali   table   .net   details   getc   

原文地址:https://www.cnblogs.com/wangleBlogs/p/9728763.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!