Package org.jgroups.blocks
Interface LockManager
- All Known Implementing Classes:
DistributedLockManager
Deprecated.
LockManager represents generic lock manager that allows
obtaining and releasing locks on objects.- Author:
- Roman Rokytskyy (rrokytskyy@acm.org), Robert Schaffar-Taurok (robert@fusion.at)
-
Method Summary
Modifier and TypeMethodDescriptionvoidDeprecated.Obtain lock onobjfor specifiedowner.voidDeprecated.Release lock onobjowned by specifiedowner.voidDeprecated.Release lock onobjowned by specifiedowner.
-
Method Details
-
lock
void lock(Object obj, Object owner, int timeout) throws LockNotGrantedException, ClassCastException, ChannelException Deprecated.Obtain lock onobjfor specifiedowner. Implementation should try to obtain lock few times within the specified timeout.- Parameters:
obj- obj to lock, usually not full object but object's ID.owner- object identifying entity that will own the lock.timeout- maximum time that we grant to obtain a lock.- Throws:
LockNotGrantedException- if lock is not granted within specified period.ClassCastException- ifobjand/orowneris not of type that implementation expects to get (for example, when distributed lock manager obtains non-serializableobjorowner).ChannelException- if something bad happened to communication channel.
-
unlock
void unlock(Object obj, Object owner) throws LockNotReleasedException, ClassCastException, ChannelException Deprecated.Release lock onobjowned by specifiedowner. since 2.2.9 this method is only a wrapper for unlock(Object lockId, Object owner, boolean releaseMultiLocked). Use that with releaseMultiLocked set to true if you want to be able to release multiple locked locks (for example after a merge)- Parameters:
obj- obj to lock, usually not full object but object's ID.owner- object identifying entity that will own the lock.
-
unlock
void unlock(Object obj, Object owner, boolean releaseMultiLocked) throws LockNotReleasedException, ClassCastException, ChannelException, LockMultiLockedException Deprecated.Release lock onobjowned by specifiedowner.- Parameters:
obj- obj to lock, usually not full object but object's ID.owner- object identifying entity that will own the lock.releaseMultiLocked- force unlocking of the lock if the local lockManager owns the lock even if another lockManager owns the same lock
-