Watch机制的特点
- 一次性触发
当Watch的对象发生改变时,将会触发此对象上Watch所对应的事件,这种监听是一次性的,后续再次发生同样的事件,也不会再次触发。
- 事件封装
Zookeeper使用WatchedEvent对象来封装服务端事件并传递。该对象包含了每个事件的三个基本属性,即通知状态(keeperState)、事件类型(EventType)和节点路径(path)。
- 异步发送
Watch的通知事件是从服务端异步发送到客户端的。
- 先注册再触发
Zookeeper中的Watch机制,必须由客户端先去服务端注册监听,这样才会触发事件的监听,并通知给客户端。