public interface IgniteTransactions
PARTITIONED
or
REPLICATED
, can also participate in the same transaction.
Transactions are AutoCloseable
, so they will automatically rollback unless
explicitly committed.
Here is an example of a transaction:
try (Transaction tx = Ignition.ignite().transactions().txStart()) { Account acct = cache.get(acctId); // Current balance. double balance = acct.getBalance(); // Deposit $100 into account. acct.setBalance(balance + 100); // Store updated account in cache. cache.put(acctId, acct); tx.commit(); }
Modifier and Type | Method and Description |
---|---|
TransactionMetrics |
metrics() |
void |
resetMetrics()
Resets transaction metrics.
|
Transaction |
tx()
Gets transaction started by this thread or
null if this thread does
not have a transaction. |
Transaction |
txStart()
Starts transaction with default isolation, concurrency, timeout, and invalidation policy.
|
Transaction |
txStart(TransactionConcurrency concurrency,
TransactionIsolation isolation)
Starts new transaction with the specified concurrency and isolation.
|
Transaction |
txStart(TransactionConcurrency concurrency,
TransactionIsolation isolation,
long timeout,
int txSize)
Starts transaction with specified isolation, concurrency, timeout, invalidation flag,
and number of participating entries.
|
Transaction txStart() throws IllegalStateException
TransactionConfiguration
at startup.IllegalStateException
- If transaction is already started by this thread.Transaction txStart(TransactionConcurrency concurrency, TransactionIsolation isolation)
concurrency
- Concurrency.isolation
- Isolation.IllegalStateException
- If transaction is already started by this thread.Transaction txStart(TransactionConcurrency concurrency, TransactionIsolation isolation, long timeout, int txSize)
concurrency
- Concurrency.isolation
- Isolation.timeout
- Timeout.txSize
- Number of entries participating in transaction (may be approximate).IllegalStateException
- If transaction is already started by this thread.Transaction tx()
null
if this thread does
not have a transaction.null
if this thread
does not have a transaction.TransactionMetrics metrics()
void resetMetrics()
Follow @ApacheIgnite
Ignite Fabric : ver. 2.0.0 Release Date : April 30 2017