我们知道如何使用Apache Curator创建分布式共享锁:
InterProcessMutex lock = new InterProcessMutex(client,"/my/lock");对于上面的代码,我有两个问题:
1:第二个参数是锁的路径( znode ),那么这个锁znode是由这段代码自动创建的,还是我们之前需要手动创建的?
2:如果是InterProcessMutex创建的,如果这个锁已经被其他实例创建了怎么办?它会抛出任何"znode exsting“异常吗?如果它没有抛出任何异常,会发生什么,创建一个重复的znode?
发布于 2014-03-25 22:51:16
对于1-是,Curator会为您创建路径(如果需要,还会创建父级)。
对于2-如果其他实例分配了具有该路径的InterProcessMutex,则没有问题。这都是在内部处理的。如果需要,Curator会创建路径。把路径想象成一个"lock id“。
迪斯莱默:我是策展人的主要作者
https://stackoverflow.com/questions/22621188
复制相似问题