Package org.infinispan.lock.impl.manager
Class EmbeddedClusteredLockManager
java.lang.Object
org.infinispan.lock.impl.manager.EmbeddedClusteredLockManager
- All Implemented Interfaces:
Lifecycle,ClusteredLockManager
@MBean(objectName="ClusteredLockManager",
description="Component to manage clustered locks")
public class EmbeddedClusteredLockManager
extends Object
implements ClusteredLockManager, Lifecycle
The Embedded version for the lock cluster manager
- Since:
- 9.2
- Author:
- Katia Aresti, karesti@redhat.com
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleandefineLock(String name) Defines a lock with the specific name and the defaultClusteredLockConfiguration.booleandefineLock(String name, ClusteredLockConfiguration configuration) Defines a lock with the specific name andClusteredLockConfiguration.forceRelease(String name) Releases - or unlocks - aClusteredLockif such exists.booleanforceReleaseSync(String name) Get’s aClusteredLockby it’s name.getConfiguration(String name) Returns the configuration of aClusteredLock, if such exists.This method throwsClusteredLockExceptionif the lock is not not defined.booleanChecks if a lock is already defined.booleanisLockedSync(String name) Removes aClusteredLockif such exists.booleanremoveSync(String name) voidstart()Invoked on component startvoidstop()Invoked on component stoptoString()
-
Field Details
-
OBJECT_NAME
- See Also:
-
FORCE_RELEASE
- See Also:
-
REMOVE
- See Also:
-
IS_DEFINED
- See Also:
-
IS_LOCKED
- See Also:
-
-
Constructor Details
-
EmbeddedClusteredLockManager
-
-
Method Details
-
start
public void start()Description copied from interface:LifecycleInvoked on component start -
stop
public void stop()Description copied from interface:LifecycleInvoked on component stop -
defineLock
Description copied from interface:ClusteredLockManagerDefines a lock with the specific name and the defaultClusteredLockConfiguration. It does not overwrite existing configurations. Returns true if successfully defined or false if the lock is already defined or any other failure.- Specified by:
defineLockin interfaceClusteredLockManager- Parameters:
name- , the name of the lock- Returns:
- true if the lock was successfully defined
-
defineLock
Description copied from interface:ClusteredLockManagerDefines a lock with the specific name andClusteredLockConfiguration. It does not overwrite existing configurations. Returns true if successfully defined or false if the lock is already defined or any other failure.- Specified by:
defineLockin interfaceClusteredLockManager- Parameters:
name- , the name of the lockconfiguration- , aClusteredLockConfigurationobject with the configuration of the lock- Returns:
- true if the lock was successfully defined
-
get
Description copied from interface:ClusteredLockManagerGet’s aClusteredLockby it’s name. This method throwsClusteredLockExceptionif the lock is not not defined. A call ofClusteredLockManager.defineLock(java.lang.String)must be done at least once in the cluster. This method will return the same lock object depending on theOwnershipLevel. If theOwnershipLevelisOwnershipLevel.NODE, it wll return the same instance perClusteredLockManagerIf theOwnershipLevelisOwnershipLevel.INSTANCE, it wll return a new instance per call.- Specified by:
getin interfaceClusteredLockManager- Parameters:
name- , the name of the lock- Returns:
ClusteredLockinstance
-
getConfiguration
Description copied from interface:ClusteredLockManagerReturns the configuration of aClusteredLock, if such exists.This method throwsClusteredLockExceptionif the lock is not not defined. A call ofClusteredLockManager.defineLock(java.lang.String)must be done at least once in the cluster.- Specified by:
getConfigurationin interfaceClusteredLockManager- Parameters:
name- , the name of the lock- Returns:
ClusteredLockConfigurationfor this lock
-
isDefined
@ManagedOperation(description="Returns true if the lock is defined", displayName="Is Lock Defined", name="isDefined") public boolean isDefined(String name) Description copied from interface:ClusteredLockManagerChecks if a lock is already defined.- Specified by:
isDefinedin interfaceClusteredLockManager- Parameters:
name- , the lock name- Returns:
trueif this lock is defined
-
remove
Description copied from interface:ClusteredLockManagerRemoves aClusteredLockif such exists.- Specified by:
removein interfaceClusteredLockManager- Parameters:
name- , the name of the lock- Returns:
trueif the lock is removed
-
removeSync
@ManagedOperation(description="Removes the lock from the cluster. The lock has to be recreated to access next time.", displayName="Remove Clustered Lock", name="remove") public boolean removeSync(String name) -
forceRelease
Description copied from interface:ClusteredLockManagerReleases - or unlocks - aClusteredLockif such exists. This method is used when we just want to force the release the lock no matter who is holding it at a given time. Calling this method may cause concurrency issues and has to be used in exceptional situations.- Specified by:
forceReleasein interfaceClusteredLockManager- Parameters:
name- , the name of the lock- Returns:
trueif the lock has been released
-
forceReleaseSync
@ManagedOperation(description="Forces a release of the lock if such exist", displayName="Release Clustered Lock", name="forceRelease") public boolean forceReleaseSync(String name) -
isLockedSync
@ManagedOperation(description="Returns true if the lock exists and is acquired", displayName="Is Locked", name="isLocked") public boolean isLockedSync(String name) -
getScheduledExecutorService
-
toString
-