Interface RemoteLockCommand
-
- All Superinterfaces:
ReplicableCommand
- All Known Subinterfaces:
TransactionalRemoteLockCommand
public interface RemoteLockCommand extends ReplicableCommand
Simple interface to extract all the keys that may need to be locked.A
CacheRpcCommandthat needs to acquire locks should implement this interface. This way, Infinispan tries to provide a better management to optimize the system resources usage.- Since:
- 8.0
- Author:
- Pedro Ruivo
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ObjectgetKeyLockOwner()It returns the lock owner of the key.Collection<?>getKeysToLock()It returns aCollectionwith the keys to be lock.booleanhasSkipLocking()It checks if this command should acquire locks.booleanhasZeroLockAcquisition()-
Methods inherited from interface org.infinispan.commands.ReplicableCommand
canBlock, getCommandId, invoke, invokeAsync, isReturnValueExpected, isSuccessful, perform, readFrom, setOrigin, writeTo
-
-
-
-
Method Detail
-
getKeysToLock
Collection<?> getKeysToLock()
It returns aCollectionwith the keys to be lock.It may return an empty collection if no keys needs to be locked independently of the return value of
hasSkipLocking(). It may contains duplicated keys andnullis not a valid return value.- Returns:
- a
Collectionof keys to lock.
-
getKeyLockOwner
Object getKeyLockOwner()
It returns the lock owner of the key.Usually, in transaction caches it is the
GlobalTransactionand in non-transactional caches theCommandInvocationId.- Returns:
- the lock owner of the key.
-
hasZeroLockAcquisition
boolean hasZeroLockAcquisition()
- Returns:
- it the locks should be acquire with 0 (zero) acquisition timeout.
-
hasSkipLocking
boolean hasSkipLocking()
It checks if this command should acquire locks.- Returns:
trueif locks should be acquired for the keys ingetKeysToLock().
-
-