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.LockManager
getModule
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
public com.seeyon.ctp.common.lock.manager.LockState isValid(com.seeyon.ctp.common.po.lock.Lock lock)
isValid
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
public 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.LockManager
getOwnerName
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
lock
- 锁对象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.LockManager
check
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
userId
- 人员IdresourceId
- 资源Id。true
,否则返回false
protected boolean check(long userId, long resourceId, boolean unlockSelfLock)
public boolean check(long userId, long resourceId, int action)
com.seeyon.ctp.common.lock.manager.LockManager
check
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
protected 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.LockManager
getLock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
resourceId
- 资源Id。action
- 操作。null
。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
resourceId
- 资源Idpublic boolean lock(long owner, long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
lock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
owner
- 加锁人Id。resourceId
- 资源Id,如协同的affairIdtrue
,如果指定资源锁已存在返回false
。public boolean lock(long owner, long resourceId, int action)
com.seeyon.ctp.common.lock.manager.LockManager
lock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
owner
- 加锁人Id。resourceId
- 资源Id。action
- 资源操作。true
,如果指定资源操作锁已存在返回false
。public boolean lock(long owner, long resourceId, int action, boolean ignoreOnlineStatus)
com.seeyon.ctp.common.lock.manager.LockManager
lock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
owner
- 加锁人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.LockManager
from
- 来自哪个端,目前只有WXT用到,WXT表示微协同public boolean lock(long owner, long resourceId, int action, java.lang.String from, boolean useNowexpirationTime)
lock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
from
- 来自哪个端,目前只有WXT用到,WXT表示微协同public boolean lock(long owner, long resourceId, java.lang.String from, boolean ignoreOnlineStatus)
lock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
owner
- 加锁人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.LockManager
from
- 来自哪个端,目前只有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.LockManager
from
- 来自哪个端,目前只有WXT用到,WXT表示微协同unlockSelfLock
- 是否释放已持有锁public boolean lock(long owner, long resourceId, java.lang.String from)
lock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
from
- 来自哪个端,目前只有WXT用到,WXT表示微协同public void unlock(long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
unlock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
resourceId
- 资源Id。public void unlock(long resourceId, int action)
com.seeyon.ctp.common.lock.manager.LockManager
unlock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
resourceId
- 资源Id。action
- 资源操作。public void unlock(long owner, long resourceId, int action)
com.seeyon.ctp.common.lock.manager.LockManager
unlock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
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
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
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
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
public void updateLockExpirationTime(long rd, int action, long time)
updateLockExpirationTime
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
public boolean lockForRead(long owner, long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
lockForRead
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
resourceId
- 加锁资源对象IDpublic void activeReadLock(long owner, long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
activeReadLock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
resourceId
- 加锁资源对象IDpublic void unlockForRead(long owner, long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
unlockForRead
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
owner
- 加锁人员IDresourceId
- 资源对象IDpublic boolean lockForWrite(long owner, long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
lockForWrite
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
owner
- 加锁人员IDresourceId
- 加锁资源对象IDpublic void activeWriteLock(long owner, long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
activeWriteLock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
resourceId
- 加锁资源对象IDpublic void unlockForWrite(long resourceId)
com.seeyon.ctp.common.lock.manager.LockManager
unlockForWrite
在接口中 com.seeyon.ctp.common.lock.manager.LockManager
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
listener
- 监听器public void releaseOutDateLock(int beforeSeconds)
releaseOutDateLock
在接口中 com.seeyon.ctp.common.lock.manager.LockManager