策展人 - InterProcessMutex锁不会删除节点

时间:2015-04-06 15:18:27

标签: java apache-zookeeper apache-curator

有谁知道Curator锁配方中哪些创建了短暂的节点?

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

谢谢!

0 个答案:

没有答案