8

有人知道哪些策展人锁配方创建了临时节点吗?

我测试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();
    }
}

谢谢!

4

0 回答 0