有人知道哪些策展人锁配方创建了临时节点吗?
我测试InterProcessMutex
了锁,但据我所知(使用zkClient
)它不会在释放或关闭会话后删除节点。
这是我用于锁键的代码。
public void lock(final LockKey lockkey, final LockAcquiredListener listener) throws Exception {
final String lockKeyPath = lockkey.toString();
LOGGER.info("Trying to acquire the lock {}", lockKeyPath);
final InterProcessMutex lock = new InterProcessMutex(client, LOCKS_PREFIX + lockKeyPath);
if (!lock.acquire(LOCK_MS_TIME_OUT, TimeUnit.MILLISECONDS)) {
LOGGER.info("Could not acquire the lock {}", lockkey.toString());
throw new LockAcquisitionTimeOutException("Could not acquire the lock: " + lockKeyPath);
}
try {
if (listener != null) {
LOGGER.info("Lock acquired for key {}", lockKeyPath);
listener.lockAcquired(lockkey);
}
} finally {
LOGGER.info("Release acquired key {}", lockKeyPath);
lock.release();
}
}
谢谢!