public class LockManagerImpl extends AbstractLockManager
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
CHECK_PERIOD_SECONDS |
EXPIRE_MILLIS, lockLogger, READ_ACTIOM| 构造器和说明 |
|---|
LockManagerImpl() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
activeReadLock(long owner,
long resourceId)
激活读锁,保证锁有效,若30秒未激活,锁会被回收。
|
void |
addReleaseLockListener(com.seeyon.ctp.common.lock.manager.ReleaseLockListener listener)
注册锁释放监听器,每个应用智能注册一个监听器
|
boolean |
check(long userId,
long resourceId)
判断指定人员是否可以访问资源。
|
boolean |
check(long userId,
long resourceId,
int action)
判断指定人员是否可以访问资源。
|
java.util.List<com.seeyon.ctp.common.po.lock.Lock> |
getAllLock()
该方法存在性能问题,并且使用场景不合理,废弃不再维护
|
com.seeyon.ctp.common.lock.manager.ConcreteLockManager |
getDatabaseLockManager() |
com.seeyon.ctp.common.po.lock.Lock |
getLock(long resourceId,
int action)
取得资源的指定操作的锁。
|
com.seeyon.ctp.common.lock.manager.ConcreteLockManager |
getLockManagers() |
java.util.List<com.seeyon.ctp.common.po.lock.Lock> |
getLocks(long resourceId)
取得资源的所有锁。
|
com.seeyon.ctp.common.lock.manager.ConcreteLockManager |
getMemoryLockManager() |
com.seeyon.ctp.common.lock.manager.ConcreteLockManager |
getRedisLockManager() |
void |
init() |
boolean |
lock(com.seeyon.ctp.common.po.lock.Lock lock)
对资源的操作加锁(高级使用,谨慎,lock参数需使用lockManager.createDefaultLock创建此对象才行)。
|
boolean |
lock(long owner,
long resourceId)
加锁。
|
boolean |
lock(long owner,
long resourceId,
int action)
对资源的操作加锁。
|
boolean |
lock(long owner,
long resourceId,
int action,
boolean ignoreOnlineStatus)
对资源的操作加锁。
|
boolean |
lock(long owner,
long resourceId,
int action,
java.lang.String from) |
boolean |
lock(long owner,
long resourceId,
int action,
java.lang.String from,
boolean useNowexpirationTime) |
boolean |
lock(long owner,
long resourceId,
int action,
java.lang.String from,
boolean useNowexpirationTime,
boolean unlockSelfLock,
boolean ignoreOnlineStatus) |
boolean |
lock(long owner,
long resourceId,
java.lang.String from) |
boolean |
lock(long owner,
long resourceId,
java.lang.String from,
boolean ignoreOnlineStatus) |
boolean |
lockForRead(long owner,
long resourceId)
资源加读锁
|
boolean |
lockForWrite(long owner,
long resourceId)
解锁写锁
|
void |
releaseCurrentLock(com.seeyon.ctp.common.po.lock.Lock lock)
释放锁
|
void |
setDatabaseLockManager(com.seeyon.ctp.common.lock.manager.ConcreteLockManager databaseLockManager) |
void |
setMemoryLockManager(com.seeyon.ctp.common.lock.manager.ConcreteLockManager memoryLockManager) |
void |
setRedisLockManager(com.seeyon.ctp.common.lock.manager.ConcreteLockManager redisLockManager) |
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) |
void |
updateLockObj(long rd,
int action,
long time) |
activeWriteLock, check, check, createDefaultLock, getLoginTime, getMember, getModule, getOnLineManager, getOrgManager, getOwnerName, getSortOrder, getValidator, initialize, isValid, lock, releaseOutDateLock, setModule, setOnLineManager, setOrgManager, setValidator, unlockForWritepublic static final int CHECK_PERIOD_SECONDS
public com.seeyon.ctp.common.lock.manager.ConcreteLockManager getLockManagers()
public boolean lock(com.seeyon.ctp.common.po.lock.Lock lock)
com.seeyon.ctp.common.lock.manager.LockManagerlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlock 在类中 AbstractLockManagerpublic boolean lock(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlock 在类中 AbstractLockManagerowner - 加锁人Id。resourceId - 资源Id,如协同的affairIdtrue,如果指定资源锁已存在返回false
。public boolean lock(long owner,
long resourceId,
java.lang.String from)
lock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlock 在类中 AbstractLockManagerfrom - 来自哪个端,目前只有WXT用到,WXT表示微协同public boolean lock(long owner,
long resourceId,
int action,
java.lang.String from)
lock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlock 在类中 AbstractLockManagerfrom - 来自哪个端,目前只有WXT用到,WXT表示微协同public boolean lock(long owner,
long resourceId,
int action,
java.lang.String from,
boolean useNowexpirationTime)
lock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlock 在类中 AbstractLockManagerfrom - 来自哪个端,目前只有WXT用到,WXT表示微协同public boolean lock(long owner,
long resourceId,
int action,
boolean ignoreOnlineStatus)
com.seeyon.ctp.common.lock.manager.LockManagerlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlock 在类中 AbstractLockManagerowner - 加锁人Id。resourceId - 资源Id。action - 资源操作。ignoreOnlineStatus - 是否忽略加锁人在线状态的校验,存在一些后台线程需要不校验用户状态的情形true,如果指定资源操作锁已存在返回false
。public boolean lock(long owner,
long resourceId,
int action)
com.seeyon.ctp.common.lock.manager.LockManagerlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlock 在类中 AbstractLockManagerowner - 加锁人Id。resourceId - 资源Id。action - 资源操作。true,如果指定资源操作锁已存在返回false
。public boolean lock(long owner,
long resourceId,
java.lang.String from,
boolean ignoreOnlineStatus)
lock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlock 在类中 AbstractLockManagerowner - 加锁人Id。resourceId - 资源Id。from - 来自哪个端,目前只有WXT用到,WXT表示微协同ignoreOnlineStatus - 是否忽略加锁人在线状态的校验,存在一些后台线程需要不校验用户状态的情形public boolean lock(long owner,
long resourceId,
int action,
java.lang.String from,
boolean useNowexpirationTime,
boolean unlockSelfLock,
boolean ignoreOnlineStatus)
lock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlock 在类中 AbstractLockManagerfrom - 来自哪个端,目前只有WXT用到,WXT表示微协同unlockSelfLock - 是否释放已持有锁public java.util.List<com.seeyon.ctp.common.po.lock.Lock> getLocks(long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagergetLocks 在接口中 com.seeyon.ctp.common.lock.manager.LockManagergetLocks 在类中 AbstractLockManagerresourceId - 资源Idpublic com.seeyon.ctp.common.po.lock.Lock getLock(long resourceId,
int action)
com.seeyon.ctp.common.lock.manager.LockManagergetLock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagergetLock 在类中 AbstractLockManagerresourceId - 资源Id。action - 操作。null。public void unlock(long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerunlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerunlock 在类中 AbstractLockManagerresourceId - 资源Id。public void unlock(long resourceId,
int action)
com.seeyon.ctp.common.lock.manager.LockManagerunlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerunlock 在类中 AbstractLockManagerresourceId - 资源Id。action - 资源操作。public void releaseCurrentLock(com.seeyon.ctp.common.po.lock.Lock lock)
com.seeyon.ctp.common.lock.manager.LockManagerreleaseCurrentLock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerreleaseCurrentLock 在类中 AbstractLockManagerpublic void unlock(long owner,
long resourceId,
int action)
com.seeyon.ctp.common.lock.manager.LockManagerunlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerunlock 在类中 AbstractLockManagerowner - 加锁人IdresourceId - 资源Id。action - 资源操作。public boolean check(long userId,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagercheck 在接口中 com.seeyon.ctp.common.lock.manager.LockManagercheck 在类中 AbstractLockManageruserId - 人员IdresourceId - 资源Id。true,否则返回falsepublic boolean check(long userId,
long resourceId,
int action)
com.seeyon.ctp.common.lock.manager.LockManagercheck 在接口中 com.seeyon.ctp.common.lock.manager.LockManagercheck 在类中 AbstractLockManagerpublic com.seeyon.ctp.common.lock.manager.ConcreteLockManager getMemoryLockManager()
public void setMemoryLockManager(com.seeyon.ctp.common.lock.manager.ConcreteLockManager memoryLockManager)
public com.seeyon.ctp.common.lock.manager.ConcreteLockManager getDatabaseLockManager()
public void setDatabaseLockManager(com.seeyon.ctp.common.lock.manager.ConcreteLockManager databaseLockManager)
public com.seeyon.ctp.common.lock.manager.ConcreteLockManager getRedisLockManager()
public void setRedisLockManager(com.seeyon.ctp.common.lock.manager.ConcreteLockManager redisLockManager)
public void updateLockObj(long rd,
int action,
long time)
public java.util.List<com.seeyon.ctp.common.po.lock.Lock> getAllLock()
com.seeyon.ctp.common.lock.manager.LockManagergetAllLock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagergetAllLock 在类中 AbstractLockManagerpublic void updateLockExpirationTime(long rd,
int action,
long time)
updateLockExpirationTime 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerupdateLockExpirationTime 在类中 AbstractLockManagerpublic boolean lockForRead(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerlockForRead 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlockForRead 在类中 AbstractLockManagerresourceId - 加锁资源对象IDpublic void activeReadLock(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManageractiveReadLock 在接口中 com.seeyon.ctp.common.lock.manager.LockManageractiveReadLock 在类中 AbstractLockManagerresourceId - 加锁资源对象IDpublic void unlockForRead(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerunlockForRead 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerunlockForRead 在类中 AbstractLockManagerowner - 加锁人员IDresourceId - 资源对象IDpublic boolean lockForWrite(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerlockForWrite 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlockForWrite 在类中 AbstractLockManagerowner - 加锁人员IDresourceId - 加锁资源对象IDpublic void addReleaseLockListener(com.seeyon.ctp.common.lock.manager.ReleaseLockListener listener)
com.seeyon.ctp.common.lock.manager.LockManageraddReleaseLockListener 在接口中 com.seeyon.ctp.common.lock.manager.LockManageraddReleaseLockListener 在类中 AbstractLockManagerlistener - 监听器public void init()
init 在类中 AbstractLockManager