Berkeley DB
version 4.2.52

com.sleepycat.bdb
Class CurrentTransaction

java.lang.Object
  |
  +--com.sleepycat.bdb.CurrentTransaction

public class CurrentTransaction
extends Object

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.


Method Summary
 DbTxn abortTxn()
          Aborts the transaction that is active for the current thread for this environment and makes the parent transaction (if any) the current transaction.
 DbTxn beginTxn()
          Begins a new transaction for this environment and associates it with the current thread.
 DbTxn beginTxn(boolean dirtyRead, boolean noWait)
          Begins a new transaction for this environment and associates it with the current thread.
 DbTxn commitTxn()
          Commits the transaction that is active for the current thread for this environment and makes the parent transaction (if any) the current transaction.
 DbEnv getEnv()
          Returns the underlying Berkeley DB environment.
static CurrentTransaction getInstance(DbEnv env)
          Gets the CurrentTransaction accessor for a specified Berkeley DB environment.
 DbTxn getTxn()
          Returns the transaction associated with the current thread for this environment, or null if no transaction is active.
 boolean isAutoCommit()
          Returns whether AUTO_COMMIT will be used for all non-cursor write operations when no transaction is active.
 boolean isDirtyRead()
          Returns whether dirty-read is used for the current transaction.
 boolean isNoWait()
          Returns whether no-wait is used for the current transaction.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static CurrentTransaction getInstance(DbEnv env)
Gets the CurrentTransaction accessor for a specified Berkeley DB environment. This method always returns the same reference when called more than once with the same environment parameter.

Parameters:
env - is an open Berkeley DB environment.
Returns:
the CurrentTransaction accessor for the given environment, or null if the environment is not transactional.

getEnv

public final DbEnv getEnv()
Returns the underlying Berkeley DB environment.


isAutoCommit

public final boolean isAutoCommit()
Returns whether AUTO_COMMIT will be used for all non-cursor write operations when no transaction is active.


isDirtyRead

public final boolean isDirtyRead()
Returns whether dirty-read is used for the current transaction.


isNoWait

public final boolean isNoWait()
Returns whether no-wait is used for the current transaction.


getTxn

public final DbTxn getTxn()
Returns the transaction associated with the current thread for this environment, or null if no transaction is active.


beginTxn

public final DbTxn beginTxn()
                     throws DbException
Begins a new transaction for this environment and associates it with the current thread. If a transaction is already active for this environment and thread, a nested transaction will be created.

Returns:
the new transaction.
Throws:
DbException - if the transaction cannot be started, in which case any existing transaction is not affected.

beginTxn

public final DbTxn beginTxn(boolean dirtyRead,
                            boolean noWait)
                     throws DbException
Begins a new transaction for this environment and associates it with the current thread. If a transaction is already active for this environment and thread, a nested transaction will be created.

Parameters:
dirtyRead - true if this transaction should read data that is modified by another transaction but not committed.
noWait - true if this transaction should throw DbLockNotGrantedException instead of blocking when trying to access data that is locked by another transaction.
Returns:
the new transaction.
Throws:
DbException - if the transaction cannot be started, in which case any existing transaction is not affected.

commitTxn

public final DbTxn commitTxn()
                      throws DbException,
                             IllegalStateException
Commits the transaction that is active for the current thread for this environment and makes the parent transaction (if any) the current transaction.

Returns:
the parent transaction or null if the committed transaction was not nested.
Throws:
DbException - if an error occurs commiting 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 environement.

abortTxn

public final DbTxn abortTxn()
                     throws DbException,
                            IllegalStateException
Aborts the transaction that is active for the current thread for this environment and makes the parent transaction (if any) the current transaction.

Returns:
the parent transaction or null if the aborted transaction was not nested.
Throws:
DbException - 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 environement.

Berkeley DB
version 4.2.52

Copyright (c) 1996-2003 Sleepycat Software, Inc. - All rights reserved.