@Component(value="core_LockManager") public class LockManagerImpl extends java.lang.Object implements LockManager
Modifier and Type | Class and Description |
---|---|
protected static class |
LockManagerImpl.LockKey |
Modifier and Type | Field and Description |
---|---|
protected org.springframework.cache.CacheManager |
cacheManager |
protected CacheOperations |
cacheOperations |
protected java.util.Map<java.lang.String,LockDescriptor> |
config |
protected CurrentAuthentication |
currentAuthentication |
protected ExtendedEntities |
extendedEntities |
protected java.util.List<LockDescriptorProvider> |
lockDescriptorProviders |
protected org.springframework.cache.Cache |
locks |
protected static org.slf4j.Logger |
log |
protected Metadata |
metadata |
protected MetadataTools |
metadataTools |
protected TimeSource |
timeSource |
LOCKS_CACHE_NAME
Constructor and Description |
---|
LockManagerImpl() |
Modifier and Type | Method and Description |
---|---|
void |
expireLocks()
Process locks expiring.
|
protected java.util.Map<java.lang.String,LockDescriptor> |
getConfig() |
java.util.Collection<LockInfo> |
getCurrentLocks()
Collection of current locks
|
LockInfo |
getLockInfo(java.lang.String name,
java.lang.String id)
Get locking status for particular object
|
protected void |
init() |
LockInfo |
lock(java.lang.Object entity)
Try to lock an entity.
|
LockInfo |
lock(java.lang.String name,
java.lang.String id)
Try to lock an arbitrary object.
|
void |
reloadConfiguration() |
void |
unlock(java.lang.Object entity)
Unlock an entity.
|
void |
unlock(java.lang.String name,
java.lang.String id)
Unlock an arbitrary object.
|
protected static final org.slf4j.Logger log
protected volatile java.util.Map<java.lang.String,LockDescriptor> config
protected org.springframework.cache.Cache locks
@Autowired protected ExtendedEntities extendedEntities
@Autowired protected Metadata metadata
@Autowired protected MetadataTools metadataTools
@Autowired protected TimeSource timeSource
@Autowired protected CurrentAuthentication currentAuthentication
@Autowired protected org.springframework.cache.CacheManager cacheManager
@Autowired protected CacheOperations cacheOperations
@Autowired protected java.util.List<LockDescriptorProvider> lockDescriptorProviders
@PostConstruct protected void init()
protected java.util.Map<java.lang.String,LockDescriptor> getConfig()
public LockInfo lock(java.lang.String name, java.lang.String id)
LockManager
lock
in interface LockManager
name
- locking object nameid
- locking object IDLockNotSupported
instance in case of locking is not configured for this object,LockInfo
instance in case of this object is already locked by someone@Nullable public LockInfo lock(java.lang.Object entity)
LockManager
lock
in interface LockManager
entity
- entity instanceLockNotSupported
instance in case of locking is not configured for this entity,LockInfo
instance in case of this entity is already locked by someonepublic void unlock(java.lang.String name, java.lang.String id)
LockManager
unlock
in interface LockManager
name
- locking object nameid
- locking object IDpublic void unlock(java.lang.Object entity)
LockManager
unlock
in interface LockManager
entity
- entity instancepublic LockInfo getLockInfo(java.lang.String name, java.lang.String id)
LockManager
getLockInfo
in interface LockManager
name
- locking object nameid
- locking object IDLockNotSupported
instance in case of locking is not configured for this object,LockInfo
instance in case of this object is locked by someonepublic java.util.Collection<LockInfo> getCurrentLocks()
LockManager
getCurrentLocks
in interface LockManager
public void expireLocks()
LockManager
expireLocks
in interface LockManager
public void reloadConfiguration()
reloadConfiguration
in interface LockManager