public interface LockManager extends IsolationLevels
OJB allows to provide user defined implementations of this interface. To activate a user defined LockManager implementation it must be configured in the OJB.properties file.
All locks have to be reentrant, this means if you already have a lock for writing and you try to acquire write access again you will not be blocked by this first lock.
It's optional to support the lockTimeout and blockTimeout properties.
LockManagerInMemoryImpl
,
LockManagerCommonsImpl
Modifier and Type | Field and Description |
---|---|
static long |
DEFAULT_BLOCK_TIMEOUT
Default lock wait time in millisecond - set to 1000 ms;
|
static long |
DEFAULT_LOCK_TIMEOUT
Default lock timeout value - set to 60000 ms.
|
IL_DEFAULT, IL_NONE, IL_OPTIMISTIC, IL_READ_COMMITTED, IL_READ_UNCOMMITTED, IL_REPEATABLE_READ, IL_SERIALIZABLE, LITERAL_IL_NONE, LITERAL_IL_OPTIMISTIC, LITERAL_IL_READ_COMMITTED, LITERAL_IL_READ_UNCOMMITTED, LITERAL_IL_REPEATABLE_READ, LITERAL_IL_SERIALIZABLE
Modifier and Type | Method and Description |
---|---|
long |
getBlockTimeout()
The maximal time to wait for acquire a lock.
|
java.lang.String |
getLockInfo()
Returns info about the used lock manager implementation and the state
of the lock manager.
|
long |
getLockTimeout()
Get the current used lock timeout value in milliseconds.
|
boolean |
hasRead(java.lang.Object key,
java.lang.Object resourceId)
Checks if there is a read lock for owner key on resource object.
|
boolean |
hasUpgrade(java.lang.Object key,
java.lang.Object resourceId)
Checks if there is a upgrade lock for lock key on resource object.
|
boolean |
hasWrite(java.lang.Object key,
java.lang.Object resourceId)
Checks if there is a write lock for lock key on resource object.
|
boolean |
readLock(java.lang.Object key,
java.lang.Object resourceId,
int isolationLevel)
Acquires a readlock for lock key on resource object.
|
boolean |
releaseLock(java.lang.Object key,
java.lang.Object resourceId)
Releases a lock for lock key on resource object.
|
void |
releaseLocks(java.lang.Object key)
Release all resource locks hold by the specified owner key.
|
void |
setBlockTimeout(long timeout)
Set the maximal time to wait for acquire a lock in milliseconds.
|
void |
setLockTimeout(long timeout)
Set the lock timeout value in milliseconds.
|
boolean |
upgradeLock(java.lang.Object key,
java.lang.Object resourceId,
int isolationLevel)
Acquire an upgrade lock.
|
boolean |
writeLock(java.lang.Object key,
java.lang.Object resourceId,
int isolationLevel)
Acquires a write lock for lock key on resource object.
|
static final long DEFAULT_LOCK_TIMEOUT
static final long DEFAULT_BLOCK_TIMEOUT
long getBlockTimeout()
void setBlockTimeout(long timeout)
timeout
- The time to wait for acquire a lock.long getLockTimeout()
void setLockTimeout(long timeout)
timeout
- The lock timeout in ms of acquired read/write/upgrade locks.java.lang.String getLockInfo()
boolean readLock(java.lang.Object key, java.lang.Object resourceId, int isolationLevel)
key
- The owner key of the lock.resourceId
- The resource to lock.isolationLevel
- The isolation level of the lock.boolean writeLock(java.lang.Object key, java.lang.Object resourceId, int isolationLevel)
key
- The owner key of the lock.resourceId
- The resource to lock.isolationLevel
- The isolation level of the lock.boolean upgradeLock(java.lang.Object key, java.lang.Object resourceId, int isolationLevel)
key
- The owner key of the lock.resourceId
- The resource to lock.isolationLevel
- The isolation level of the lock.boolean releaseLock(java.lang.Object key, java.lang.Object resourceId)
key
- The owner key of the lock.resourceId
- The resource to release.void releaseLocks(java.lang.Object key)
key
- The owner key to release all associated locks.boolean hasRead(java.lang.Object key, java.lang.Object resourceId)
key
- The owner key of the lock.resourceId
- The resource to check.boolean hasWrite(java.lang.Object key, java.lang.Object resourceId)
key
- The owner key of the lock.resourceId
- The resource to check.boolean hasUpgrade(java.lang.Object key, java.lang.Object resourceId)
key
- The owner key of the lock.resourceId
- The resource to check.(C) 2002 - 2005 Apache Software Foundation
All rights reserved. Published under the Apache License 2.0.
http://db.apache.org/ojb
Version: 1.0.4, 2005-12-30