1、curator客户端已经实现了分布式锁,引入jar包后直接调用即可,pom.xml引入如下依赖
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.2.0</version>
</dependency>
2、代码实现:
public class CuratorZkLockTest {
private static final Logger LOGGER = LoggerFactory.getLogger(CuratorZkLockTest.class);
@Test
public void testCuratorLock() {
RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000,3);
CuratorFramework client = CuratorFrameworkFactory.newClient("localhost:2181", retryPolicy);
client.start();
InterProcessMutex lock = new InterProcessMutex(client,"/order");
try {
if (lock.acquire(30, TimeUnit.SECONDS)) {
LOGGER.info("我获得了锁!");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
lock.release();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
zookeeper curator客户端实现分布式锁
于 2021-10-12 22:46:26 首次发布