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×注:×表示否,√表示是。
ZooKeeper如何設定監視點
zookeeper的api中的所有讀操作 getdata getchildren和exists,均可以選擇在讀取的znode節點上設定監視點。使用監視點機制,需要實現watcher介面類,實現其中的方法如下 public void process watchedevent event watched...
CentOS7安裝Zookeeper(正確姿勢)
cd opt 解壓壓縮包,解壓完成後當前目錄生成乙個apache zookeeper 3.6.1 bin的資料夾 tar zxvf apache zookeeper 3.6.1 bin.tar.gz 修改資料夾名稱為zookeeper 3.6.1 好記 mv apache zookeeper 3.6...
設定約束後 如何獲取正確的frame
1 任何原因引起view的尺寸被改變 2 呼叫viewcontroller的 viewwilllayoutsubviews 方法 3 未啟用autolayout情況,呼叫 layoutsubviews 4 啟用autolayout情況,呼叫viewcontroller的 updateviewcons...