public class MVCCLockManager<T extends ILockObject> extends Object implements IBasicLockManager<T>
Constructor and Description |
---|
MVCCLockManager() |
MVCCLockManager(SpaceConfigReader configReader) |
Modifier and Type | Method and Description |
---|---|
void |
freeLockObject(ILockObject lockObject)
free the lock object - no more needed by this thread
|
ILockObject |
getLockObject(String subjectUid)
based only on subject's uid, return a lock object in order to lock the represented subject
this method is relevant only for evictable objects
|
ILockObject |
getLockObject(T subject)
based on subject, return a lock object in order to lock the represented subject.
|
boolean |
isEntryLocksItsSelf(T entry)
true if the lock object is the subject itself (i.e.
|
public MVCCLockManager(SpaceConfigReader configReader)
public MVCCLockManager()
public ILockObject getLockObject(T subject)
IBasicLockManager
If the subject is part of evictable from space (like lru) or evicatble from cache (like in TieredStorage with cache rule) we use the subject itself, otherwise we use per-logical subject a different object.
Note - template and transient entry are not evictable.
getLockObject
in interface IBasicLockManager<T extends ILockObject>
public ILockObject getLockObject(String subjectUid)
IBasicLockManager
getLockObject
in interface IBasicLockManager<T extends ILockObject>
public void freeLockObject(ILockObject lockObject)
IBasicLockManager
freeLockObject
in interface IBasicLockManager<T extends ILockObject>
lockObject
- the lock objectpublic boolean isEntryLocksItsSelf(T entry)
IBasicLockManager
isEntryLocksItsSelf
in interface IBasicLockManager<T extends ILockObject>
Copyright © GigaSpaces.