Berkeley DB Java Edition
version 5.0.34

com.sleepycat.je
Class TransactionConfig

java.lang.Object
  extended by com.sleepycat.je.TransactionConfig
All Implemented Interfaces:
Cloneable

public class TransactionConfig
extends Object
implements Cloneable

Specifies the attributes of a database environment transaction.


Field Summary
static TransactionConfig DEFAULT
          Default configuration used if null is passed to methods that create a transaction.
 
Constructor Summary
TransactionConfig()
          An instance created using the default constructor is initialized with the system's default settings.
 
Method Summary
 TransactionConfig clone()
          Returns a copy of this configuration object.
 ReplicaConsistencyPolicy getConsistencyPolicy()
          Returns the consistency policy associated with the configuration.
 Durability getDurability()
          Returns the durability associated with the configuration.
 boolean getNoSync()
          Deprecated. replaced by getDurability()
 boolean getNoWait()
          Returns true if the transaction is configured to not wait if a lock request cannot be immediately granted.
 boolean getReadCommitted()
          Returns true if the transaction is configured for read committed isolation.
 boolean getReadUncommitted()
          Returns true if read operations performed by the transaction are configured to return modified but not yet committed data.
 boolean getSerializableIsolation()
          Returns true if the transaction has been explicitly configured to have serializable (degree 3) isolation.
 boolean getSync()
          Returns true if the transaction is configured to write and synchronously flush the log it when commits.
 boolean getWriteNoSync()
          Deprecated. replaced by getDurability()
 TransactionConfig setConsistencyPolicy(ReplicaConsistencyPolicy consistencyPolicy)
          Associates a consistency policy with this configuration.
 TransactionConfig setDurability(Durability durability)
          Configures the durability associated with a transaction when it commits.
 TransactionConfig setNoSync(boolean noSync)
          Deprecated. replaced by setDurability(com.sleepycat.je.Durability)
 TransactionConfig setNoWait(boolean noWait)
          Configures the transaction to not wait if a lock request cannot be immediately granted.
 TransactionConfig setReadCommitted(boolean readCommitted)
          Configures the transaction for read committed isolation.
 TransactionConfig setReadUncommitted(boolean readUncommitted)
          Configures read operations performed by the transaction to return modified but not yet committed data.
 TransactionConfig setSerializableIsolation(boolean serializableIsolation)
          Configures this transaction to have serializable (degree 3) isolation.
 TransactionConfig setSync(boolean sync)
          Configures the transaction to write and synchronously flush the log it when commits.
 TransactionConfig setWriteNoSync(boolean writeNoSync)
          Deprecated. replaced by setDurability(com.sleepycat.je.Durability)
 String toString()
          Returns the values for each configuration attribute.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT

public static final TransactionConfig DEFAULT
Default configuration used if null is passed to methods that create a transaction.

Constructor Detail

TransactionConfig

public TransactionConfig()
An instance created using the default constructor is initialized with the system's default settings.

Method Detail

setSync

public TransactionConfig setSync(boolean sync)
Configures the transaction to write and synchronously flush the log it when commits.

This behavior may be set for a database environment using the Environment.setMutableConfig method. Any value specified to this method overrides that setting.

The default is false for this class and true for the database environment.

If true is passed to both setSync and setNoSync, setSync will take precedence.

Parameters:
sync - If true, transactions exhibit all the ACID (atomicity, consistency, isolation, and durability) properties.
Returns:
this

getSync

public boolean getSync()
Returns true if the transaction is configured to write and synchronously flush the log it when commits.

Returns:
true if the transaction is configured to write and synchronously flush the log it when commits.

setNoSync

public TransactionConfig setNoSync(boolean noSync)
Deprecated. replaced by setDurability(com.sleepycat.je.Durability)

Configures the transaction to not write or synchronously flush the log it when commits.

This behavior may be set for a database environment using the Environment.setMutableConfig method. Any value specified to this method overrides that setting.

The default is false for this class and the database environment.

Parameters:
noSync - If true, transactions exhibit the ACI (atomicity, consistency, and isolation) properties, but not D (durability); that is, database integrity will be maintained, but if the application or system fails, it is possible some number of the most recently committed transactions may be undone during recovery. The number of transactions at risk is governed by how many log updates can fit into the log buffer, how often the operating system flushes dirty buffers to disk, and how often the log is checkpointed.
Returns:
this

getNoSync

public boolean getNoSync()
Deprecated. replaced by getDurability()

Returns true if the transaction is configured to not write or synchronously flush the log it when commits.

Returns:
true if the transaction is configured to not write or synchronously flush the log it when commits.

setWriteNoSync

public TransactionConfig setWriteNoSync(boolean writeNoSync)
Deprecated. replaced by setDurability(com.sleepycat.je.Durability)

Configures the transaction to write but not synchronously flush the log it when commits.

This behavior may be set for a database environment using the Environment.setMutableConfig method. Any value specified to this method overrides that setting.

The default is false for this class and the database environment.

Parameters:
writeNoSync - If true, transactions exhibit the ACI (atomicity, consistency, and isolation) properties, but not D (durability); that is, database integrity will be maintained, but if the operating system fails, it is possible some number of the most recently committed transactions may be undone during recovery. The number of transactions at risk is governed by how often the operating system flushes dirty buffers to disk, and how often the log is checkpointed.
Returns:
this

getWriteNoSync

public boolean getWriteNoSync()
Deprecated. replaced by getDurability()

Returns true if the transaction is configured to write but not synchronously flush the log it when commits.

Returns:
true if the transaction is configured to not write or synchronously flush the log it when commits.

setDurability

public TransactionConfig setDurability(Durability durability)
Configures the durability associated with a transaction when it commits. Changes to durability are not reflected back to the "sync" booleans -- there isn't a one to one mapping. Note that you should not use both the durability and the XXXSync() apis on the same config object.

Parameters:
durability - the durability definition
Returns:
this

getDurability

public Durability getDurability()
Returns the durability associated with the configuration. As a compatibility hack, it currently returns the local durability computed from the current "sync" settings, if the durability has not been explicitly set by the application.

Returns:
the durability setting currently associated with this config.

setConsistencyPolicy

public TransactionConfig setConsistencyPolicy(ReplicaConsistencyPolicy consistencyPolicy)
Associates a consistency policy with this configuration.

Parameters:
consistencyPolicy - the consistency definition
Returns:
this

getConsistencyPolicy

public ReplicaConsistencyPolicy getConsistencyPolicy()
Returns the consistency policy associated with the configuration.

Returns:
the consistency policy currently associated with this config.

setNoWait

public TransactionConfig setNoWait(boolean noWait)
Configures the transaction to not wait if a lock request cannot be immediately granted.

The default is false for this class and the database environment.

Parameters:
noWait - If true, transactions will not wait if a lock request cannot be immediately granted, instead LockNotAvailableException will be thrown.
Returns:
this

getNoWait

public boolean getNoWait()
Returns true if the transaction is configured to not wait if a lock request cannot be immediately granted.

Returns:
true if the transaction is configured to not wait if a lock request cannot be immediately granted.

setReadUncommitted

public TransactionConfig setReadUncommitted(boolean readUncommitted)
Configures read operations performed by the transaction to return modified but not yet committed data.

Parameters:
readUncommitted - If true, configure read operations performed by the transaction to return modified but not yet committed data.
Returns:
this
See Also:
LockMode.READ_UNCOMMITTED

getReadUncommitted

public boolean getReadUncommitted()
Returns true if read operations performed by the transaction are configured to return modified but not yet committed data.

Returns:
true if read operations performed by the transaction are configured to return modified but not yet committed data.
See Also:
LockMode.READ_UNCOMMITTED

setReadCommitted

public TransactionConfig setReadCommitted(boolean readCommitted)
Configures the transaction for read committed isolation.

This ensures the stability of the current data item read by the cursor but permits data read by this transaction to be modified or deleted prior to the commit of the transaction.

Parameters:
readCommitted - If true, configure the transaction for read committed isolation.
Returns:
this
See Also:
LockMode.READ_COMMITTED

getReadCommitted

public boolean getReadCommitted()
Returns true if the transaction is configured for read committed isolation.

Returns:
true if the transaction is configured for read committed isolation.
See Also:
LockMode.READ_COMMITTED

setSerializableIsolation

public TransactionConfig setSerializableIsolation(boolean serializableIsolation)
Configures this transaction to have serializable (degree 3) isolation. By setting serializable isolation, phantoms will be prevented.

By default a transaction provides Repeatable Read isolation; EnvironmentConfig.setTxnSerializableIsolation(boolean) may be called to override the default. If the environment is configured for serializable isolation, all transactions will be serializable regardless of whether this method is called; calling setSerializableIsolation(boolean) with a false parameter will not disable serializable isolation.

The default is false for this class and the database environment.

Returns:
this
See Also:
LockMode

getSerializableIsolation

public boolean getSerializableIsolation()
Returns true if the transaction has been explicitly configured to have serializable (degree 3) isolation.

Returns:
true if the transaction has been configured to have serializable isolation.
See Also:
LockMode

clone

public TransactionConfig clone()
Returns a copy of this configuration object.

Overrides:
clone in class Object

toString

public String toString()
Returns the values for each configuration attribute.

Overrides:
toString in class Object
Returns:
the values for each configuration attribute.

Berkeley DB Java Edition
version 5.0.34

Copyright (c) 2004-2011 Oracle. All rights reserved.