com.sleepycat.je
Class LockTimeoutException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
com.sleepycat.je.DatabaseException
com.sleepycat.je.OperationFailureException
com.sleepycat.je.LockConflictException
com.sleepycat.je.LockTimeoutException
- All Implemented Interfaces:
- Serializable
public class LockTimeoutException
- extends LockConflictException
Thrown when multiple threads are competing for a lock and the lock timeout
interval is exceeded for the current thread. This may be the result of a
deadlock or simply because a lock is held for longer than the timeout
interval. The lock timeout interval may be set using EnvironmentConfig.setLockTimeout(long, java.util.concurrent.TimeUnit)
or Transaction.setLockTimeout(long, java.util.concurrent.TimeUnit)
.
The Transaction
handle is invalidated as a result of this
exception.
For compatibility with JE 3.3 and earlier, DeadlockException
is
thrown instead of LockTimeoutException
and TransactionTimeoutException
when EnvironmentConfig.LOCK_OLD_LOCK_EXCEPTIONS
is set to true. This
configuration parameter is false by default. See EnvironmentConfig.LOCK_OLD_LOCK_EXCEPTIONS
for information on the changes
that should be made to all applications that upgrade from JE 3.3 or
earlier.
Normally, applications should catch the base class LockConflictException
rather than catching one of its subclasses. All lock
conflicts are typically handled in the same way, which is normally to abort
and retry the transaction. See LockConflictException
for more
information.
- Since:
- 4.0
- See Also:
- Serialized Form
LockTimeoutException
public LockTimeoutException(Locker locker,
String message)
- For internal use only.
wrapSelf
public OperationFailureException wrapSelf(String msg)
- For internal use only.
- Specified by:
wrapSelf
in class OperationFailureException
Copyright (c) 2004-2010 Oracle. All rights reserved.