天天看點

ZooKeeper Watch Java API淺析exists

        Watch是ZooKeeper中非常重要的一個機制,它可以監控ZooKeeper中節點的變化情況,告知用戶端。下面,我們以代碼為例來分析Watch在ZooKeeper中是如何實作的。ZooKeeper中一共由三種方法可以實作Watch,分别為getData、exists和getChildren,今天我們先來看下exists()方法:

        2、exists()

        執行結果如下:

        而如果我們在擷取根目錄節點狀态之後,修改根目錄資料,添加代碼和執行結果如下:

        與getData()一緻!

        結論:

        exists()方法僅僅監控對應節點的一次資料變化,無論是資料修改還是删除!若要每次對應節點發生變化都被監測到,那麼每次都得先調用exists()方法擷取一遍節點狀态!