我们有一个特定的情况,一个进程将获得一个密钥的Curator锁并附加一个Watch。另一个过程也会在同一个键上附加一个Watch。我希望每当Lock被释放时都会通知其他进程:由进程本身或当进程死亡时由ZooKeeper通知。
我正在尝试使用NodeCache,但我认为当znode类型为EPHEMERAL_SEQUENTIAL时,NodeCache不起作用。至少,我的测试用例失败了。
答案 0 :(得分:0)
我设法使用PathChildrenCache而不是NodeCache来解决问题。策展人锁定API在zk上创建了EPHEMERAL_SEQUENCE模式。因此很难提供NodeCache的确切路径来观察。 当任何进程对同一个密钥使用锁定时,将回调PathChiredrenCache实现,因为它们将在zookeeper上的该密钥内创建子节点。