Package org.apache.openjpa.kernel
Class NoneLockManager
java.lang.Object
org.apache.openjpa.kernel.AbstractLockManager
org.apache.openjpa.kernel.NoneLockManager
- All Implemented Interfaces:
LockLevels
,LockManager
,Closeable
A lock manager that does not perform any locking.
- Author:
- Marc Prud'hommeaux
-
Field Summary
Fields inherited from class org.apache.openjpa.kernel.AbstractLockManager
ctx, log
Fields inherited from interface org.apache.openjpa.kernel.LockLevels
LOCK_NONE, LOCK_READ, LOCK_WRITE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
Return the lock level of the specified instance, orLockLevels.LOCK_NONE
if not locked.void
lock
(OpenJPAStateManager sm, int level, int timeout, Object context) Obtain a lock on the specified object.void
refreshLock
(OpenJPAStateManager sm, int level, int timeout, Object context) Perform the same function as previous lock method and has the option to perform a version check after the lock function has completed.void
Release the lock on the given object.Methods inherited from class org.apache.openjpa.kernel.AbstractLockManager
beginTransaction, close, endTransaction, getContext, lockAll, setContext, skipRelationFieldLock
-
Constructor Details
-
NoneLockManager
public NoneLockManager()
-
-
Method Details
-
lock
Description copied from interface:LockManager
Obtain a lock on the specified object. This method may be called when a user explicitly locks an object, and is also called automatically for every object accessed during a transaction. The implementation must track already-locked objects, and must be optimized to return quickly when the given object does not need additional locking. The lock manager might use the state manager's lock object for bookkeeping information.- Parameters:
sm
- the object to locklevel
- one of the lock constants defined inLockLevels
, or a custom leveltimeout
- the timeout in milliseconds, or a negative number for no timeoutcontext
- the context information passed from the store manager to the persistence context, if any; lock managers specific to a certain back end may be able to take advantage of this; others should ignore it- See Also:
-
refreshLock
Description copied from interface:LockManager
Perform the same function as previous lock method and has the option to perform a version check after the lock function has completed. -
release
Description copied from interface:LockManager
Release the lock on the given object. This method will be called automatically for each state manager with a lock object set on transaction completion, just before the call toLockManager.endTransaction()
. The lock manager should null the state manager's lock object. Note that some state manager may be garbage collected during a transaction; thus lock managers cannot rely on this method being called for every state manager. -
getLockLevel
Description copied from interface:LockManager
Return the lock level of the specified instance, orLockLevels.LOCK_NONE
if not locked.
-