
添加 -w 参数可实时监听节点与子节点的变化,并且实时收到通知。非常适用保障分布式情况下的数据一至性。
其使用方式如下
命令 | 描述 |
|---|---|
ls -w path | 监听子节点的变化(增,删) [监听目录] |
get -w path | 听节点数据的变化 |
stat -w path | 监听节点属性的变化 |
printwatches on | off |
针对节点的监听:一旦事件触发,对应的注册立刻被移除,所以事件监听是一次性的 . 依靠的客户端和服务端建立的长连接实现的实时推送。

【会话一】

然后新开启一个会话,去修改这个节点
【会话二】

重新回到【会话一】

观察节点属性的变化

【会话一】

【会话二】

切到【会话一】 观察输出的监听日志

当然了 delete 目录,也会发生变化
如果对节点数据内容,ls -w 是收不到通知的,只能通过 get -w来实现 。
这里,监听一点触发,就失效了,切记。

如果监听了某个目录,那么该目录下的子目录的变更也会被监听到。 当然了 也是一次性的。
