【问题标题】:Zookeper + Curator: watch node remove / remove a watchZookeeper + Curator:watch node remove / remove a watch
【发布时间】:2017-08-04 04:20:27
【问题描述】:

我正在使用 Zookeeper 和 curator 2.12.0。

我通过调用getChildren(我事先不知道完整的节点路径)与观察者成功地观察新节点,该观察者提交任务以再次调用getChildren与观察者。 现在我想看节点删除并且只删除。我用观察者调用 checkExists。但是,如果节点由于某种原因不存在,它将实际上是节点创建的观察者,这在我的情况下永远不会发生。所以我会留下越来越多的“thrash”观察者,我想这会浪费一些资源。

如果节点存在,我如何才能删除观察者或添加观察者?

【问题讨论】:

    标签: java apache-zookeeper apache-curator


    【解决方案1】:

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

    【讨论】:

    • 谢谢!不幸的是,我们使用的是 hortonworks 数据平台提供的 ZK,它仍然是 3.4.6
    猜你喜欢
    • 2022-12-02
    • 2021-08-03
    • 2022-05-17
    • 2022-12-19
    • 1970-01-01
    • 2021-11-18
    • 2011-02-02
    • 2022-12-02
    • 1970-01-01
    相关资源
    最近更新 更多