public class TransactionConfig
extends java.lang.Object
implements java.lang.Cloneable
Modifier and Type | Field and Description |
---|---|
static TransactionConfig |
DEFAULT
Default configuration used if null is passed to methods that create a
transaction.
|
Constructor and Description |
---|
TransactionConfig()
An instance created using the default constructor is initialized with
the system's default settings.
|
Modifier and Type | Method and Description |
---|---|
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 |
getLocalWrite()
Returns whether local-write is configured for this transaction.
|
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 |
getReadOnly()
Returns whether read-only is configured for this transaction.
|
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 |
setLocalWrite(boolean localWrite)
Configures this transaction to allow writing to non-replicated
Database s in a
ReplicatedEnvironment . |
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 |
setReadOnly(boolean readOnly)
Configures this transaction to disallow write operations, regardless of
whether writes are allowed for the
Environment or the
Database s that are accessed. |
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) |
java.lang.String |
toString()
Returns the values for each configuration attribute.
|
public static final TransactionConfig DEFAULT
public TransactionConfig()
public TransactionConfig setSync(boolean sync)
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.
sync
- If true, transactions exhibit all the ACID (atomicity,
consistency, isolation, and durability) properties.public boolean getSync()
public TransactionConfig setNoSync(boolean noSync)
setDurability(com.sleepycat.je.Durability)
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.
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.public boolean getNoSync()
getDurability()
public TransactionConfig setWriteNoSync(boolean writeNoSync)
setDurability(com.sleepycat.je.Durability)
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.
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.public boolean getWriteNoSync()
getDurability()
public TransactionConfig setDurability(Durability durability)
durability
- the durability definitionpublic Durability getDurability()
setDurability(com.sleepycat.je.Durability)
has not been called, this method returns null.
When no durability settings have been specified using the
TransactionConfig
, the default durability is applied to the
Transaction
by Environment.beginTransaction(com.sleepycat.je.Transaction, com.sleepycat.je.TransactionConfig)
using
EnvironmentConfig
settings.public TransactionConfig setConsistencyPolicy(ReplicaConsistencyPolicy consistencyPolicy)
consistencyPolicy
- the consistency definitionpublic ReplicaConsistencyPolicy getConsistencyPolicy()
public TransactionConfig setNoWait(boolean noWait)
The default is false for this class and the database environment.
noWait
- If true, transactions will not wait if a lock request
cannot be immediately granted, instead LockNotAvailableException
will be thrown.public boolean getNoWait()
public TransactionConfig setReadUncommitted(boolean readUncommitted)
readUncommitted
- If true, configure read operations performed by
the transaction to return modified but not yet committed data.LockMode.READ_UNCOMMITTED
public boolean getReadUncommitted()
LockMode.READ_UNCOMMITTED
public TransactionConfig setReadCommitted(boolean readCommitted)
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.
readCommitted
- If true, configure the transaction for read
committed isolation.LockMode.READ_COMMITTED
public boolean getReadCommitted()
LockMode.READ_COMMITTED
public TransactionConfig setSerializableIsolation(boolean serializableIsolation)
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.
LockMode
public boolean getSerializableIsolation()
LockMode
public TransactionConfig setReadOnly(boolean readOnly)
Environment
or the
Database
s that are accessed.
If a write operation is attempted using a read-only transaction,
an UnsupportedOperationException
will be thrown.
For a read-only transaction, the transaction's Durability
is
ignored, even when it is explicitly specified using setDurability(Durability)
.
In a ReplicatedEnvironment
, a read-only
transaction implicitly uses
Durability.ReplicaAckPolicy.NONE
.
A read-only transaction on a Master will thus not be held up, or
throw InsufficientReplicasException
, if the
Master is not in contact with a sufficient number of Replicas at the
time the transaction is initiated.
The default setting is false (writes are allowed).
public boolean getReadOnly()
public TransactionConfig setLocalWrite(boolean localWrite)
Database
s in a
ReplicatedEnvironment
.
In a replicated environment, a given transaction may be used to
write to either replicated databases or non-replicated databases, but
not both. If a write operation to a replicated database is attempted
when local-write is true, or to a non-replicated database when
local-write is false, an UnsupportedOperationException
will be
thrown.
Note that for auto-commit transactions (when the Transaction
parameter is null), the local-write setting is automatically set to
correspond to whether the database is replicated. With auto-commit,
local-write is always true for a non-replicated database, and
always false for a replicated database.
In a replicated environment, a local-write transaction implicitly
uses Durability.ReplicaAckPolicy.NONE
.
A local-write transaction on a Master will thus not be held up, or
throw InsufficientReplicasException
, if the
Master is not in contact with a sufficient number of Replicas at the
time the transaction is initiated.
By default the local-write setting is false, meaning that the transaction may only write to replicated Databases in a replicated environment.
This configuration setting is ignored in a non-replicated Environment since no databases are replicated.
public boolean getLocalWrite()
public TransactionConfig clone()
clone
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
Copyright (c) 2002, 2017 Oracle and/or its affiliates. All rights reserved.