Package com.hazelcast.transaction
Class TransactionOptions
- java.lang.Object
-
- com.hazelcast.transaction.TransactionOptions
-
- All Implemented Interfaces:
DataSerializable
public final class TransactionOptions extends java.lang.Object implements DataSerializable
Contains the configuration for a Hazelcast transaction.
-
-
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
All Methods Static Methods Instance Methods Concrete Methods 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, java.util.concurrent.TimeUnit timeUnit)
Sets the timeout.TransactionOptions
setTransactionType(TransactionOptions.TransactionType transactionType)
Sets theTransactionOptions.TransactionType
.java.lang.String
toString()
void
writeData(ObjectDataOutput out)
Writes object fields to output stream
-
-
-
Method Detail
-
getTransactionType
public TransactionOptions.TransactionType getTransactionType()
Gets theTransactionOptions.TransactionType
.- Returns:
- the TransactionType.
-
setTransactionType
public TransactionOptions setTransactionType(TransactionOptions.TransactionType transactionType)
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
public TransactionOptions setTimeout(long timeout, java.util.concurrent.TimeUnit timeUnit)
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:
java.lang.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
public TransactionOptions setDurability(int durability)
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:
java.lang.IllegalArgumentException
- if durability smaller than 0.
-
getDefault
public static TransactionOptions getDefault()
Creates a new TransactionOptions configured with default settings.- Returns:
- the created default TransactionOptions.
- See Also:
TransactionOptions()
-
writeData
public void writeData(ObjectDataOutput out) throws java.io.IOException
Description copied from interface:DataSerializable
Writes object fields to output stream- Specified by:
writeData
in interfaceDataSerializable
- Parameters:
out
- output- Throws:
java.io.IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the output stream has been closed.
-
readData
public void readData(ObjectDataInput in) throws java.io.IOException
Description copied from interface:DataSerializable
Reads fields from the input stream- Specified by:
readData
in interfaceDataSerializable
- Parameters:
in
- input- Throws:
java.io.IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the input stream has been closed.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-