我们知道如何使用Apache Curator创建分布式共享锁:
InterProcessMutex lock = new InterProcessMutex(client,"/my/lock");
对于上面的代码,我有两个问题:
1:第二个参数是锁定路径(znode),这个代码段自动创建的锁定znode,还是需要先手动创建?
2:如果它是由“InterProcessMutex”创建的,如果已经由其他实例创建了这个锁定znode怎么办?它会抛出任何“znode exsting”异常吗?如果它没有抛出任何异常,发生了什么,创建一个重复的znode?
答案 0 :(得分:3)
For 1 - 是的,Curator会为你创建路径(以及父母,如果需要)。
For 2 - 如果其他实例使用该路径分配InterProcessMutex,则没有问题。这一切都在内部处理。策展人根据需要创建路径。将路径视为"锁定ID"。
免责声明:我是策展人的主要作者