0

我们知道如何使用 Apache Curator 创建分布式共享锁:

InterProcessMutex lock = new InterProcessMutex(client,"/my/lock");

对于上面的代码,我有两个问题:

1:第二个参数是lock(znode)的路径,那么这个lock znode是这段代码自动创建的,还是我们之前需要手动创建呢?

2:如果是“InterProcessMutex”创建的,如果这个锁znode已经被其他实例创建了怎么办?它会抛出任何“znode exsting”异常吗?如果它没有抛出任何异常,发生了什么,创建一个重复的znode?

4

1 回答 1

3

对于 1 - 是的,Curator 会为您创建路径(如果需要,还可以创建父级)。

对于 2 - 如果其他实例使用该路径分配 InterProcessMutex,则没有问题。都是内部处理的。如果需要,策展人会创建路径。将路径视为“锁定 ID”。

免责声明:我是策展人的主要作者

于 2014-03-25T14:51:15.517 回答