zookeeper源码分析04 watcher
直接看WatchManager
WatcherManager类用于管理watchers和相应的触发器
1.先判断入参的watcher,如果是dead,则直接返回false
2.根据路径获取所有的watcher
3.如果获取不到watcher列表,就初始化一个空的
4.入参的watcher增加到watcher列表
5.通过watcher获取所有路径paths,最后设置到watcherModemanager
+++++++++++++++++++++++++++++++++++++++++
看下核心方法triggerWatch
1.首先初始化watchedEvent事件
2.循环遍历watcher集合,如果watcher是递归的,就增加watcher
3.如果watcher不是持久化的,就触发一次watcher后,删除watcher