2017-08-03 144 views
1

我使用zookeeper与策展人2.12.0。Zookeper +策展人:手表节点删除/删除手表

我正在通过调用getChildren(我不知道完整的节点路径)来成功观察新节点,观察者再次向观察者提交调用getChildren的任务。 现在我想看节点删除,只有删除。我给观察者打电话checkExists。但是,如果由于某种原因节点不存在,它实际上将成为节点创建的守护者,这在我的情况下永远不会发生。所以我会留下越来越多的“颠簸”观察者,这将浪费我想象中的一些资源。

如何删除观察者或仅在节点存在时添加观察者?

回答

1

ZooKeeper 3.4.x不支持移除观察者。观察者只有在触发时才被移除。 ZooKeeper 3.5.x增加了对观察者移除的支持。如果您转移到ZK 3.5.x和Curator 3.x/4.x,则可以使用观察者删除API。 (注意:我是Apache ZooKeeper的主要作者)。

+0

谢谢!不幸的是,我们使用的仍然是3.4.6的hortonworks数据平台提供的ZK –