前言
curator 是Java语言实现的增强版zookeeper客户端详情见官网
curator 的使用步骤:
- 引入curator客户端
- curator 已经实现了分布式锁的方法
- 直接调用即可
单元测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| @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) ) { try { log.info("我获得了锁!!!"); } finally { lock.release(); } } } catch (Exception e) { e.printStackTrace(); } client.close(); }
|