Class TopKeyLockManager
java.lang.Object
org.infinispan.extendedstats.wrappers.TopKeyLockManager
- All Implemented Interfaces:
LockManager
Top-key stats about locks.
- Since:
- 6.0
- Author:
- Pedro Ruivo
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintRetrieves the owner of the lock for thekey.booleanTests if thekeyis locked.Attempts to lock thekeyif the lock isn't already held by thelockOwner.lockAll(Collection<?> keys, Object lockOwner, long time, TimeUnit unit) Same asLockManager.lock(Object, Object, long, TimeUnit)but for multiple keys.booleanTests if thelockOwnerowns a lock on thekey.Prints lock information for all locks.voidReleases the lock for thekeyif thelockOwneris the lock owner.voidunlockAll(Collection<?> keys, Object lockOwner) Same asLockManager.unlock(Object, Object)but for multiple keys.voidSame asunlockAll(context.getLockedKeys(), context.getKeyLockOwner();.
-
Constructor Details
-
TopKeyLockManager
-
-
Method Details
-
lock
Description copied from interface:LockManagerAttempts to lock thekeyif the lock isn't already held by thelockOwner.This method is non-blocking and return immediately a
LockPromise. TheLockPromisecan (and should) be used by the invoker to check when the lock is really acquired by invokingLockPromise.lock().- Specified by:
lockin interfaceLockManager- Parameters:
key- key to lock.lockOwner- the owner of the lock.time- the maximum time to wait for the lockunit- the time unit of thetimeargument- Returns:
- the
KeyAwareLockPromiseassociated to this keys.
-
lockAll
Description copied from interface:LockManagerSame asLockManager.lock(Object, Object, long, TimeUnit)but for multiple keys.It ensures no deadlocks if the method is invoked by different lock owners for the same set (or subset) of keys.
- Specified by:
lockAllin interfaceLockManager- Parameters:
keys- keys to lock.lockOwner- the owner of the lock.time- the maximum time to wait for the lockunit- the time unit of thetimeargument- Returns:
- the
KeyAwareLockPromiseassociated to this keys.
-
unlock
Description copied from interface:LockManagerReleases the lock for thekeyif thelockOwneris the lock owner.Note this method will unlock a lock where the key is the lockOwner
- Specified by:
unlockin interfaceLockManager- Parameters:
key- key to unlock.lockOwner- the owner of the lock.
-
unlockAll
Description copied from interface:LockManagerSame asLockManager.unlock(Object, Object)but for multiple keys.Note this method will not unlock a lock where the key is the lockOwner
- Specified by:
unlockAllin interfaceLockManager- Parameters:
keys- keys to unlock.lockOwner- the owner of the lock.
-
unlockAll
Description copied from interface:LockManagerSame asunlockAll(context.getLockedKeys(), context.getKeyLockOwner();.Note this method will not unlock a lock where the key is the lockOwner
- Specified by:
unlockAllin interfaceLockManager- Parameters:
ctx- the context with the locked keys and the lock owner.
-
ownsLock
Description copied from interface:LockManagerTests if thelockOwnerowns a lock on thekey.- Specified by:
ownsLockin interfaceLockManager- Parameters:
key- key to test.owner- the owner of the lock.- Returns:
trueif the owner does own the lock on the key,falseotherwise.
-
isLocked
Description copied from interface:LockManagerTests if thekeyis locked.- Specified by:
isLockedin interfaceLockManager- Parameters:
key- key to test.- Returns:
trueif the key is locked,falseotherwise.
-
getOwner
Description copied from interface:LockManagerRetrieves the owner of the lock for thekey.- Specified by:
getOwnerin interfaceLockManager- Returns:
- the owner of the lock, or
nullif not locked.
-
printLockInfo
Description copied from interface:LockManagerPrints lock information for all locks.- Specified by:
printLockInfoin interfaceLockManager- Returns:
- the lock information
-
getNumberOfLocksHeld
public int getNumberOfLocksHeld()- Specified by:
getNumberOfLocksHeldin interfaceLockManager- Returns:
- the number of locks held.
-
getLock
- Specified by:
getLockin interfaceLockManager
-