Does anyone know which of the curator’s blocking recipes create ephemeral nodes?
I tested InterProcessMutex lock, but as far as I can see (with zkClient ), it does not delete nodes after release or closes the session.
This is the code that I use for lock keys.
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(); } }
Thanks!
java apache-zookeeper curator
Jose
source share