public class AbstractLockManager
extends java.lang.Object
implements com.seeyon.ctp.common.lock.manager.LockManager
| 限定符和类型 | 字段和说明 |
|---|---|
protected static long |
EXPIRE_MILLIS |
protected static org.apache.commons.logging.Log |
lockLogger |
protected static int |
READ_ACTIOM |
| 构造器和说明 |
|---|
AbstractLockManager() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
activeReadLock(long owner,
long resourceId)
激活读锁,保证锁有效,若30秒未激活,锁会被回收。
|
void |
activeWriteLock(long owner,
long resourceId)
激活写锁,保证锁有效,若30秒未激活,锁会被回收。
|
void |
addReleaseLockListener(com.seeyon.ctp.common.lock.manager.ReleaseLockListener listener)
注册锁释放监听器,每个应用智能注册一个监听器
|
boolean |
check(long userId,
long resourceId)
判断指定人员是否可以访问资源。
|
protected boolean |
check(long userId,
long resourceId,
boolean unlockSelfLock) |
boolean |
check(long userId,
long resourceId,
int action)
判断指定人员是否可以访问资源。
|
protected boolean |
check(long userId,
long resourceId,
int action,
boolean unlockSelfLock) |
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)
取得资源的指定操作的锁。
|
java.util.List<com.seeyon.ctp.common.po.lock.Lock> |
getLocks(long resourceId)
取得资源的所有锁。
|
long |
getLoginTime(java.lang.Long id,
java.lang.String from) |
com.seeyon.ctp.organization.bo.V3xOrgMember |
getMember(java.lang.Long id) |
java.lang.String |
getModule()
取得当前锁管理器所属模块。
|
com.seeyon.ctp.login.online.OnlineManager |
getOnLineManager() |
com.seeyon.ctp.organization.manager.OrgManager |
getOrgManager() |
java.lang.String |
getOwnerName(com.seeyon.ctp.common.po.lock.Lock lock)
取得加锁人信息。
|
int |
getSortOrder() |
com.seeyon.ctp.common.lock.manager.LockValidatable |
getValidator() |
void |
init() |
void |
initialize() |
com.seeyon.ctp.common.lock.manager.LockState |
isValid(com.seeyon.ctp.common.po.lock.Lock lock)
判断锁是否有效。
|
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 |
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 |
releaseOutDateLock(int beforeSeconds) |
void |
setModule(java.lang.String module) |
void |
setOnLineManager(com.seeyon.ctp.login.online.OnlineManager onLineManager) |
void |
setOrgManager(com.seeyon.ctp.organization.manager.OrgManager orgManager) |
void |
setValidator(com.seeyon.ctp.common.lock.manager.LockValidatable validator) |
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 |
unlockForWrite(long resourceId)
解锁写锁
|
void |
updateLockExpirationTime(long rd,
int action,
long time) |
protected static final org.apache.commons.logging.Log lockLogger
protected static final int READ_ACTIOM
protected static final long EXPIRE_MILLIS
public int getSortOrder()
public void initialize()
public void init()
public com.seeyon.ctp.organization.manager.OrgManager getOrgManager()
public void setOrgManager(com.seeyon.ctp.organization.manager.OrgManager orgManager)
public com.seeyon.ctp.login.online.OnlineManager getOnLineManager()
public void setOnLineManager(com.seeyon.ctp.login.online.OnlineManager onLineManager)
public void setModule(java.lang.String module)
public java.lang.String getModule()
com.seeyon.ctp.common.lock.manager.LockManagergetModule 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerpublic com.seeyon.ctp.common.lock.manager.LockState isValid(com.seeyon.ctp.common.po.lock.Lock lock)
isValid 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerpublic com.seeyon.ctp.common.lock.manager.LockValidatable getValidator()
public void setValidator(com.seeyon.ctp.common.lock.manager.LockValidatable validator)
public java.lang.String getOwnerName(com.seeyon.ctp.common.po.lock.Lock lock)
com.seeyon.ctp.common.lock.manager.LockManagergetOwnerName 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlock - 锁对象public com.seeyon.ctp.organization.bo.V3xOrgMember getMember(java.lang.Long id)
public long getLoginTime(java.lang.Long id,
java.lang.String from)
public boolean check(long userId,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagercheck 在接口中 com.seeyon.ctp.common.lock.manager.LockManageruserId - 人员IdresourceId - 资源Id。true,否则返回falseprotected boolean check(long userId,
long resourceId,
boolean unlockSelfLock)
public boolean check(long userId,
long resourceId,
int action)
com.seeyon.ctp.common.lock.manager.LockManagercheck 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerprotected boolean check(long userId,
long resourceId,
int action,
boolean unlockSelfLock)
public 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.LockManagerresourceId - 资源Id。action - 操作。null。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.LockManagerresourceId - 资源Idpublic boolean lock(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerowner - 加锁人Id。resourceId - 资源Id,如协同的affairIdtrue,如果指定资源锁已存在返回false
。public boolean lock(long owner,
long resourceId,
int action)
com.seeyon.ctp.common.lock.manager.LockManagerlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerowner - 加锁人Id。resourceId - 资源Id。action - 资源操作。true,如果指定资源操作锁已存在返回false
。public boolean lock(long owner,
long resourceId,
int action,
boolean ignoreOnlineStatus)
com.seeyon.ctp.common.lock.manager.LockManagerlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerowner - 加锁人Id。resourceId - 资源Id。action - 资源操作。ignoreOnlineStatus - 是否忽略加锁人在线状态的校验,存在一些后台线程需要不校验用户状态的情形true,如果指定资源操作锁已存在返回false
。public boolean lock(long owner,
long resourceId,
int action,
java.lang.String from)
lock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerfrom - 来自哪个端,目前只有WXT用到,WXT表示微协同public boolean lock(long owner,
long resourceId,
int action,
java.lang.String from,
boolean useNowexpirationTime)
lock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerfrom - 来自哪个端,目前只有WXT用到,WXT表示微协同public boolean lock(long owner,
long resourceId,
java.lang.String from,
boolean ignoreOnlineStatus)
lock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerowner - 加锁人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.LockManagerfrom - 来自哪个端,目前只有WXT用到,WXT表示微协同unlockSelfLock - 是否释放已持有锁public boolean lock(long owner,
long resourceId,
int action,
java.lang.String from,
boolean useNowexpirationTime,
boolean unlockSelfLock)
lock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerfrom - 来自哪个端,目前只有WXT用到,WXT表示微协同unlockSelfLock - 是否释放已持有锁public boolean lock(long owner,
long resourceId,
java.lang.String from)
lock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerfrom - 来自哪个端,目前只有WXT用到,WXT表示微协同public void unlock(long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerunlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerresourceId - 资源Id。public void unlock(long resourceId,
int action)
com.seeyon.ctp.common.lock.manager.LockManagerunlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerresourceId - 资源Id。action - 资源操作。public void unlock(long owner,
long resourceId,
int action)
com.seeyon.ctp.common.lock.manager.LockManagerunlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerowner - 加锁人IdresourceId - 资源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.LockManagerpublic boolean lock(com.seeyon.ctp.common.po.lock.Lock lock)
com.seeyon.ctp.common.lock.manager.LockManagerlock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerpublic 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.LockManagerpublic java.util.List<com.seeyon.ctp.common.po.lock.Lock> getAllLock()
com.seeyon.ctp.common.lock.manager.LockManagergetAllLock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerpublic void updateLockExpirationTime(long rd,
int action,
long time)
updateLockExpirationTime 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerpublic boolean lockForRead(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerlockForRead 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerresourceId - 加锁资源对象IDpublic void activeReadLock(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManageractiveReadLock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerresourceId - 加锁资源对象IDpublic void unlockForRead(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerunlockForRead 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerowner - 加锁人员IDresourceId - 资源对象IDpublic boolean lockForWrite(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerlockForWrite 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerowner - 加锁人员IDresourceId - 加锁资源对象IDpublic void activeWriteLock(long owner,
long resourceId)
com.seeyon.ctp.common.lock.manager.LockManageractiveWriteLock 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerresourceId - 加锁资源对象IDpublic void unlockForWrite(long resourceId)
com.seeyon.ctp.common.lock.manager.LockManagerunlockForWrite 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerresourceId - 资源对象IDpublic void addReleaseLockListener(com.seeyon.ctp.common.lock.manager.ReleaseLockListener listener)
com.seeyon.ctp.common.lock.manager.LockManageraddReleaseLockListener 在接口中 com.seeyon.ctp.common.lock.manager.LockManagerlistener - 监听器public void releaseOutDateLock(int beforeSeconds)
releaseOutDateLock 在接口中 com.seeyon.ctp.common.lock.manager.LockManager