|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sleepycat.collections.CurrentTransaction
public class CurrentTransaction
Provides access to the current transaction for the current thread within the
context of a Berkeley DB environment. This class provides explicit
transaction control beyond that provided by the TransactionRunner
class. However, both methods of transaction control manage per-thread
transactions.
Nested Class Summary | |
---|---|
(package private) static class |
CurrentTransaction.CdbCursors
|
Method Summary | |
---|---|
Transaction |
abortTransaction()
Aborts the transaction that is active for the current thread for this environment and makes the parent transaction (if any) the current transaction. |
Transaction |
beginTransaction(TransactionConfig config)
Begins a new transaction for this environment and associates it with the current thread. |
(package private) void |
closeCursor(Cursor cursor)
Closes a cursor. |
Transaction |
commitTransaction()
Commits the transaction that is active for the current thread for this environment and makes the parent transaction (if any) the current transaction. |
(package private) Cursor |
dupCursor(Cursor cursor,
boolean writeCursor,
boolean samePosition)
Duplicates a cursor for a given database. |
Environment |
getEnvironment()
Returns the underlying Berkeley DB environment. |
static CurrentTransaction |
getInstance(Environment env)
Gets the CurrentTransaction accessor for a specified Berkeley DB environment. |
(package private) static CurrentTransaction |
getInstanceInternal(Environment env)
Gets the CurrentTransaction accessor for a specified Berkeley DB environment. |
Transaction |
getTransaction()
Returns the transaction associated with the current thread for this environment, or null if no transaction is active. |
(package private) LockMode |
getWriteLockMode()
Return the LockMode.RMW or null, depending on whether locking is enabled. |
(package private) boolean |
isAutoCommitAllowed()
Returns whether auto-commit may be performed by the collections API. |
(package private) boolean |
isCDBCursorOpen(Database db)
Returns true if a CDB cursor is open and therefore a Database write operation should not be attempted since a self-deadlock may result. |
(package private) boolean |
isCdbMode()
Returns whether this is a Concurrent Data Store environment. |
(package private) boolean |
isReadUncommitted()
Returns whether the current transaction is a readUncommitted transaction. |
(package private) boolean |
isTxnMode()
Returns whether this is a transactional environment. |
(package private) Cursor |
openCursor(Database db,
CursorConfig cursorConfig,
boolean writeCursor,
Transaction txn)
Opens a cursor for a given database, dup'ing an existing CDB cursor if one is open for the current thread. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static CurrentTransaction getInstance(Environment env)
env
- is an open Berkeley DB environment.
static CurrentTransaction getInstanceInternal(Environment env)
env
- is an open Berkeley DB environment.final boolean isTxnMode()
final boolean isCdbMode()
final LockMode getWriteLockMode()
public final Environment getEnvironment()
public final Transaction getTransaction()
boolean isAutoCommitAllowed() throws DatabaseException
DatabaseException
public final Transaction beginTransaction(TransactionConfig config) throws DatabaseException
config
- the transaction configuration used for calling
Environment.beginTransaction(com.sleepycat.je.Transaction, com.sleepycat.je.TransactionConfig)
, or null to use the default
configuration.
DatabaseException
- if the transaction cannot be started, in which
case any existing transaction is not affected.
IllegalStateException
- if a transaction is already active and
nested transactions are not supported by the environment.public final Transaction commitTransaction() throws DatabaseException, IllegalStateException
DatabaseException
- if an error occurs committing the transaction.
The transaction will still be closed and the parent transaction will
become the current transaction.
IllegalStateException
- if no transaction is active for the
current thread for this environment.public final Transaction abortTransaction() throws DatabaseException, IllegalStateException
DatabaseException
- if an error occurs aborting the transaction.
The transaction will still be closed and the parent transaction will
become the current transaction.
IllegalStateException
- if no transaction is active for the
current thread for this environment.final boolean isReadUncommitted()
Cursor openCursor(Database db, CursorConfig cursorConfig, boolean writeCursor, Transaction txn) throws DatabaseException
DatabaseException
Cursor dupCursor(Cursor cursor, boolean writeCursor, boolean samePosition) throws DatabaseException
writeCursor
- true to open a write cursor in a CDB environment, and
ignored for other environments.samePosition
- is passed through to Cursor.dup().
DatabaseException
- if a database problem occurs.void closeCursor(Cursor cursor) throws DatabaseException
cursor
- the cursor to close.
DatabaseException
- if a database problem occurs.boolean isCDBCursorOpen(Database db) throws DatabaseException
DatabaseException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |