如何使用 Curator 检查 Zookeeper 中是不是存在路径?

Posted

技术标签:

【中文标题】如何使用 Curator 检查 Zookeeper 中是不是存在路径?【英文标题】:How do I check if a path exists in Zookeeper using Curator?如何使用 Curator 检查 Zookeeper 中是否存在路径? 【发布时间】:2012-09-14 06:55:39 【问题描述】:

我目前处于将 Zookeeper 内容集成到我的应用程序的早期开发阶段。我使用 Netflix 的 Curator 作为处理 Zookeeper 的 API。我了解了其中的大部分内容(比如添加 ZNode 等)。

但是你到底是如何检查 ZNode 是否存在的呢?看起来可行的代码是:

client.checkExists().forPath(path);

...其中clientcom.netflix.curator.framework.CuratorFramework 的一个实例

但是,此调用返回一个org.apache.zookeeper.data.Stat 对象。

使用这个对象,如何判断路径是否存在?

谢谢

【问题讨论】:

【参考方案1】:

org.apache.zookeeper.data.Stat 对象是关于该 ZNode 的元数据。 (它在概念上类似于 stat() 如何告诉您有关文件系统上文件的信息,因此得名。)checkExists().forPath() 如果存在则返回 Stat,如果不存在则返回 null

【讨论】:

谢谢。我就是这么想的。

以上是关于如何使用 Curator 检查 Zookeeper 中是不是存在路径?的主要内容,如果未能解决你的问题,请参考以下文章

Curator简介

zookeeper curator使用

zookeeper实现分布式锁-curator

ZooKeeper客户端Curator使用

Zookeeper客户端Curator使用详解

zookeeper curator 基本使用