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