我正在使用zookeeper和策展人2.12.0。
我通过调用getChildren(我不提前知道完整节点路径)成功观察新节点,观察者提交任务以再次使用观察者调用getChildren。 现在我想看节点删除,只删除。我用checkcher调用checkExists。但是如果节点由于某种原因不存在,它实际上将成为节点创建的观察者,在我的情况下永远不会发生。所以我会留下越来越多的“捶打”观察者,这会浪费一些资源,正如我想的那样。
如果节点存在,我怎么能删除观察者或添加观察者?
答案 0 :(得分:3)
ZooKeeper 3.4.x不支持删除观察者。观察者只有在触发时才被移除。 ZooKeeper 3.5.x增加了对观察者删除的支持。如果您转到ZK 3.5.x和Curator 3.x / 4.x,您可以使用观察者删除API。 (注意:我是Apache ZooKeeper的主要作者)。