public class InterProcessMutex extends Object implements InterProcessLock, Revocable<InterProcessMutex>
| Constructor and Description |
|---|
InterProcessMutex(org.apache.curator.framework.CuratorFramework client,
String path) |
InterProcessMutex(org.apache.curator.framework.CuratorFramework client,
String path,
LockInternalsDriver driver) |
| Modifier and Type | Method and Description |
|---|---|
void |
acquire()
Acquire the mutex - blocking until it's available.
|
boolean |
acquire(long time,
TimeUnit unit)
Acquire the mutex - blocks until it's available or the given time expires.
|
protected byte[] |
getLockNodeBytes() |
protected String |
getLockPath() |
Collection<String> |
getParticipantNodes()
Return a sorted list of all current nodes participating in the lock
|
boolean |
isAcquiredInThisProcess()
Returns true if the mutex is acquired by a thread in this JVM
|
void |
makeRevocable(RevocationListener<InterProcessMutex> listener)
Make the lock revocable.
|
void |
makeRevocable(RevocationListener<InterProcessMutex> listener,
Executor executor)
Make the lock revocable.
|
void |
release()
Perform one release of the mutex if the calling thread is the same thread that acquired it.
|
public InterProcessMutex(org.apache.curator.framework.CuratorFramework client,
String path)
client - clientpath - the path to lockpublic InterProcessMutex(org.apache.curator.framework.CuratorFramework client,
String path,
LockInternalsDriver driver)
client - clientpath - the path to lockdriver - lock driverpublic void acquire()
throws Exception
release()acquire in interface InterProcessLockException - ZK errors, connection interruptionspublic boolean acquire(long time,
TimeUnit unit)
throws Exception
release()acquire in interface InterProcessLocktime - time to waitunit - time unitException - ZK errors, connection interruptionspublic boolean isAcquiredInThisProcess()
isAcquiredInThisProcess in interface InterProcessLockpublic void release()
throws Exception
release in interface InterProcessLockException - ZK errors, interruptions, current thread does not own the lockpublic Collection<String> getParticipantNodes() throws Exception
Exception - ZK errors, interruptions, etc.public void makeRevocable(RevocationListener<InterProcessMutex> listener)
RevocablemakeRevocable in interface Revocable<InterProcessMutex>listener - the listenerpublic void makeRevocable(RevocationListener<InterProcessMutex> listener, Executor executor)
RevocablemakeRevocable in interface Revocable<InterProcessMutex>listener - the listenerexecutor - executor for the listenerprotected byte[] getLockNodeBytes()
protected String getLockPath()
Copyright © 2011–2018 The Apache Software Foundation. All rights reserved.