Java 默认的zookeeper观察者做什么?
这是获取znode数据的方法Java 默认的zookeeper观察者做什么?,java,apache-zookeeper,Java,Apache Zookeeper,这是获取znode数据的方法 public byte[] getData(String path, boolean watch, Stat stat) throws KeeperException, InterruptedException; 路径-给定的路径 监视-是否需要监视此节点 stat-节点的stat 我对第二个参数bo
public byte[] getData(String path,
boolean watch,
Stat stat)
throws KeeperException,
InterruptedException;
- 路径-给定的路径
- 监视-是否需要监视此节点
- stat-节点的stat
我对第二个参数
boolean watch
很好奇,我主要把false
放在那里。但如果我通过了true
,动物园管理员会怎么做呢?在我看来,将调用默认的观察者。它的作用是什么?如果watch的pass true为true,那么如果znode的数据发生更改,或者znode被删除,则会向客户端发送一个事件。客户端将调用默认的观察者(用于构造Zookeeper客户端对象)对象的处理方法。进程方法被传递给WatchedEvent对象。我们可以从事件对象获取eventType、znode路径(如果事件特定于znode)等。例如,如果事件类型类似于“NodeDataChanged”,则可能会调用Zookeeper以获取修改后的数据并重新建立手表。基本上,默认的观察者实现了“process”方法,“process”方法具有处理事件的逻辑
您可以查看以下链接:
顺便说一句,zkclient是更简单的zookeeper客户端库。你也可以试试