Class TransactionOptions
- All Implemented Interfaces:
DataSerializable
public final class TransactionOptions extends Object implements DataSerializable
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TransactionOptions.TransactionType
The type of transaction. -
Field Summary
Fields Modifier and Type Field Description static long
DEFAULT_TIMEOUT_MILLIS
2 minutes as default timeout value -
Constructor Summary
Constructors Constructor Description TransactionOptions()
Creates a new default configured TransactionsOptions. -
Method Summary
Modifier and Type Method Description static TransactionOptions
getDefault()
Creates a new TransactionOptions configured with default settings.int
getDurability()
Gets the transaction durability.long
getTimeoutMillis()
Gets the timeout in milliseconds.TransactionOptions.TransactionType
getTransactionType()
Gets theTransactionOptions.TransactionType
.void
readData(ObjectDataInput in)
Reads fields from the input streamTransactionOptions
setDurability(int durability)
Sets the transaction durability.TransactionOptions
setTimeout(long timeout, TimeUnit timeUnit)
Sets the timeout.TransactionOptions
setTransactionType(TransactionOptions.TransactionType transactionType)
Sets theTransactionOptions.TransactionType
.String
toString()
void
writeData(ObjectDataOutput out)
Writes object fields to output stream
-
Field Details
-
DEFAULT_TIMEOUT_MILLIS
public static final long DEFAULT_TIMEOUT_MILLIS2 minutes as default timeout value
-
-
Constructor Details
-
TransactionOptions
public TransactionOptions()Creates a new default configured TransactionsOptions.It will be configured with a timeout of 2 minutes, durability of 1 and a TransactionType.TWO_PHASE.
-
-
Method Details
-
getTransactionType
Gets theTransactionOptions.TransactionType
.- Returns:
- the TransactionType.
-
setTransactionType
Sets theTransactionOptions.TransactionType
.A local transaction is less safe than a two phase transaction; when a member fails during the commit of a local transaction, it could be that some of the changes are committed, while others are not and this can leave your system in an inconsistent state.
- Parameters:
transactionType
- the new TransactionType.- Returns:
- the updated TransactionOptions.
- See Also:
getTransactionType()
,setDurability(int)
-
getTimeoutMillis
public long getTimeoutMillis()Gets the timeout in milliseconds.- Returns:
- the timeout in milliseconds.
- See Also:
setTimeout(long, java.util.concurrent.TimeUnit)
-
setTimeout
Sets the timeout.The timeout determines the maximum lifespan of a transaction. So if a transaction is configured with a timeout of 2 minutes, then it will automatically rollback if it hasn't committed yet.
- Parameters:
timeout
- the timeout.timeUnit
- the TimeUnit of the timeout.- Returns:
- the updated TransactionOptions
- Throws:
IllegalArgumentException
- if timeout smaller or equal than 0, or timeUnit is null.- See Also:
getTimeoutMillis()
-
getDurability
public int getDurability()Gets the transaction durability.- Returns:
- the transaction durability.
- See Also:
setDurability(int)
-
setDurability
Sets the transaction durability.The durability is the number of machines that can take over if a member fails during a transaction commit or rollback. This value only has meaning when
TransactionOptions.TransactionType.TWO_PHASE
is selected.- Parameters:
durability
- the durability- Returns:
- the updated TransactionOptions.
- Throws:
IllegalArgumentException
- if durability smaller than 0.
-
getDefault
Creates a new TransactionOptions configured with default settings.- Returns:
- the created default TransactionOptions.
- See Also:
TransactionOptions()
-
writeData
Description copied from interface:DataSerializable
Writes object fields to output stream- Specified by:
writeData
in interfaceDataSerializable
- Parameters:
out
- output- Throws:
IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the output stream has been closed.
-
readData
Description copied from interface:DataSerializable
Reads fields from the input stream- Specified by:
readData
in interfaceDataSerializable
- Parameters:
in
- input- Throws:
IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the input stream has been closed.
-
toString
-