public class DatabaseLockManagerImpl extends AbstractLockManager implements com.seeyon.ctp.common.lock.manager.ConcreteLockManager
EXPIRE_MILLIS, lockLogger, READ_ACTIOM
构造器和说明 |
---|
DatabaseLockManagerImpl() |
限定符和类型 | 方法和说明 |
---|---|
void |
activeReadLock(long owner,
long resourceId)
激活读锁,保证锁有效,若30秒未激活,锁会被回收。
|
void |
addReleaseLockListener(com.seeyon.ctp.common.lock.manager.ReleaseLockListener listener)
注册锁释放监听器,每个应用智能注册一个监听器
|
void |
addReleaseLockListener(java.lang.String module,
com.seeyon.ctp.common.lock.manager.ReleaseLockListener listener) |
com.seeyon.ctp.common.po.lock.Lock |
createDefaultLock(long owner,
long resourceId,
int action,
java.lang.String from,
java.lang.String param0,
java.lang.String param1,
boolean useNowexpirationTime) |
java.util.List<com.seeyon.ctp.common.po.lock.Lock> |
getAllLock()
该方法存在性能问题,并且使用场景不合理,废弃不再维护
|
com.seeyon.ctp.common.po.lock.Lock |
getLock(long resourceId,
int action)
取得资源的指定操作的锁。
|
com.seeyon.ctp.common.po.lock.Lock |
getLock(long owner,
long resourceId,
int action) |
LockDAO |
getLockDao() |
java.util.List<com.seeyon.ctp.common.po.lock.Lock> |
getLocks(long resourceId)
取得资源的所有锁。
|
void |
init() |
boolean |
lock(com.seeyon.ctp.common.po.lock.Lock lock)
对资源的操作加锁(高级使用,谨慎,lock参数需使用lockManager.createDefaultLock创建此对象才行)。
|
boolean |
lock(long owner,
long resourceId,
java.lang.String from) |
boolean |
lock(java.lang.String module,
long owner,
long resourceId) |
boolean |
lock(java.lang.String module,
long owner,
long resourceId,
int action) |
boolean |
lock(java.lang.String module,
long owner,
long resourceId,
int action,
boolean ignoreOnlineStatus) |
boolean |
lock(java.lang.String module,
long owner,
long resourceId,
int action,
java.lang.String from) |
boolean |
lock(java.lang.String module,
long owner,
long resourceId,
int action,
java.lang.String from,
boolean useNowexpirationTime) |
boolean |
lock(java.lang.String module,
long owner,
long resourceId,
int action,
java.lang.String from,
boolean useNowexpirationTime,
boolean unlockSelfLock) |
boolean |
lock(java.lang.String module,
long owner,
long resourceId,
int action,
java.lang.String from,
boolean useNowexpirationTime,
boolean unlockSelfLock,
boolean ignoreOnlineStatus) |
boolean |
lock(java.lang.String module,
long owner,
long resourceId,
java.lang.String from) |
boolean |
lock(java.lang.String module,
long owner,
long resourceId,
java.lang.String from,
boolean ignoreOnlineStatus) |
boolean |
lockForRead(java.lang.String module,
long owner,
long resourceId) |
void |
releaseCurrentLock(com.seeyon.ctp.common.po.lock.Lock lock)
释放锁
|
void |
releaseOutDateLock(int beforeSeconds) |
void |
setLockDao(LockDAO lockDao) |
void |
unlock(long resourceId)
解锁。
|
void |
unlock(long resourceId,
int action)
解锁。
|
void |
unlock(long owner,
long resourceId,
int action)
解锁。
|
void |
unlockForRead(long owner,
long resourceId)
解锁读锁
|
void |
updateLockExpirationTime(long rd,
int action,
long time) |
activeWriteLock, check, check, check, check, getLoginTime, getMember, getModule, getOnLineManager, getOrgManager, getOwnerName, getSortOrder, getValidator, initialize, isValid, lock, lock, lock, lock, lock, lock, lock, lock, lockForRead, lockForWrite, setModule, setOnLineManager, setOrgManager, setValidator, unlockForWrite
@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public boolean lock(java.lang.String module, long owner, long resourceId)
lock
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager
@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public boolean lock(java.lang.String module, long owner, long resourceId, int action)
lock
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager
public boolean lock(java.lang.String module, long owner, long resourceId, int action, boolean ignoreOnlineStatus)
lock
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager
@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public boolean lock(java.lang.String module, long owner, long resourceId, int action, java.lang.String from)
lock
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager
@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public boolean lock(java.lang.String module, long owner, long resourceId, int action, java.lang.String from, boolean useNowexpirationTime)
lock
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager
@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public boolean lock(java.lang.String module, long owner, long resourceId, java.lang.String from)
lock
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager
public boolean lock(java.lang.String module, long owner, long resourceId, java.lang.String from, boolean ignoreOnlineStatus)
lock
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager
@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public boolean lock(long owner, long resourceId, java.lang.String from)
lock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
lock
在类中 AbstractLockManager
from
- 来自哪个端,目前只有WXT用到,WXT表示微协同@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public boolean lock(com.seeyon.ctp.common.po.lock.Lock lock)
com.seeyon.ctp.common.lock.manager.LockManager
lock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
lock
在类中 AbstractLockManager
public java.util.List<com.seeyon.ctp.common.po.lock.Lock> getLocks(long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
getLocks
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
getLocks
在类中 AbstractLockManager
resourceId
- 资源Idpublic com.seeyon.ctp.common.po.lock.Lock getLock(long resourceId, int action)
com.seeyon.ctp.common.lock.manager.LockManager
getLock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
getLock
在类中 AbstractLockManager
resourceId
- 资源Id。action
- 操作。null
。public com.seeyon.ctp.common.po.lock.Lock getLock(long owner, long resourceId, int action)
@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public void unlock(long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
unlock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
unlock
在类中 AbstractLockManager
resourceId
- 资源Id。@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public void unlock(long resourceId, int action)
com.seeyon.ctp.common.lock.manager.LockManager
unlock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
unlock
在类中 AbstractLockManager
resourceId
- 资源Id。action
- 资源操作。@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public void unlock(long owner, long resourceId, int action)
com.seeyon.ctp.common.lock.manager.LockManager
unlock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
unlock
在类中 AbstractLockManager
owner
- 加锁人IdresourceId
- 资源Id。action
- 资源操作。public void releaseCurrentLock(com.seeyon.ctp.common.po.lock.Lock lock)
com.seeyon.ctp.common.lock.manager.LockManager
releaseCurrentLock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
releaseCurrentLock
在类中 AbstractLockManager
public LockDAO getLockDao()
public void setLockDao(LockDAO lockDao)
public com.seeyon.ctp.common.po.lock.Lock createDefaultLock(long owner, long resourceId, int action, java.lang.String from, java.lang.String param0, java.lang.String param1, boolean useNowexpirationTime)
createDefaultLock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
createDefaultLock
在类中 AbstractLockManager
@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public void updateLockExpirationTime(long rd, int action, long time)
updateLockExpirationTime
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
updateLockExpirationTime
在类中 AbstractLockManager
public java.util.List<com.seeyon.ctp.common.po.lock.Lock> getAllLock()
com.seeyon.ctp.common.lock.manager.LockManager
getAllLock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
getAllLock
在类中 AbstractLockManager
@Transactional(propagation=NOT_SUPPORTED, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public void releaseOutDateLock(int beforeSeconds)
releaseOutDateLock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
releaseOutDateLock
在类中 AbstractLockManager
public void addReleaseLockListener(java.lang.String module, com.seeyon.ctp.common.lock.manager.ReleaseLockListener listener)
addReleaseLockListener
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager
@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public boolean lockForRead(java.lang.String module, long owner, long resourceId)
lockForRead
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager
@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public void unlockForRead(long owner, long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
unlockForRead
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
unlockForRead
在类中 AbstractLockManager
owner
- 加锁人员IDresourceId
- 资源对象ID@Transactional(propagation=REQUIRES_NEW, rollbackFor=com.seeyon.ctp.common.exceptions.BusinessException.class) public void activeReadLock(long owner, long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
activeReadLock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
activeReadLock
在类中 AbstractLockManager
resourceId
- 加锁资源对象IDpublic void addReleaseLockListener(com.seeyon.ctp.common.lock.manager.ReleaseLockListener listener)
com.seeyon.ctp.common.lock.manager.LockManager
addReleaseLockListener
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
addReleaseLockListener
在类中 AbstractLockManager
listener
- 监听器public void init()
init
在类中 AbstractLockManager
public boolean lock(java.lang.String module, long owner, long resourceId, int action, java.lang.String from, boolean useNowexpirationTime, boolean unlockSelfLock)
lock
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager
public boolean lock(java.lang.String module, long owner, long resourceId, int action, java.lang.String from, boolean useNowexpirationTime, boolean unlockSelfLock, boolean ignoreOnlineStatus)
lock
在接口中 com.seeyon.ctp.common.lock.manager.ConcreteLockManager