Class IgniteTransactionsImpl<K,V>
- java.lang.Object
-
- org.apache.ignite.internal.processors.cache.transactions.IgniteTransactionsImpl<K,V>
-
- All Implemented Interfaces:
IgniteTransactions,IgniteTransactionsEx
public class IgniteTransactionsImpl<K,V> extends Object implements IgniteTransactionsEx
Grid transactions implementation.
-
-
Constructor Summary
Constructors Constructor Description IgniteTransactionsImpl(GridCacheSharedContext<K,V> cctx, @Nullable String lb, boolean tracingEnabled)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Collection<Transaction>localActiveTransactions()Returns a list of active transactions initiated by this node.TransactionMetricsmetrics()voidresetMetrics()Resets transaction metrics.@Nullable Transactiontx()Gets transaction started by this thread ornullif this thread does not have a transaction.TransactiontxStart()Starts transaction with default isolation, concurrency, timeout, and invalidation policy.TransactiontxStart(TransactionConcurrency concurrency, TransactionIsolation isolation)Starts new transaction with the specified concurrency and isolation.TransactiontxStart(TransactionConcurrency concurrency, TransactionIsolation isolation, long timeout, int txSize)Starts transaction with specified isolation, concurrency, timeout, invalidation flag, and number of participating entries.GridNearTxLocaltxStartEx(GridCacheContext ctx, TransactionConcurrency concurrency, TransactionIsolation isolation)GridNearTxLocaltxStartEx(GridCacheContext ctx, TransactionConcurrency concurrency, TransactionIsolation isolation, long timeout, int txSize)IgniteTransactionswithLabel(String lb)Returns instance of Ignite Transactions to mark a transaction with a special label.IgniteTransactionswithTracing()Returns an instance ofIgniteTransactionstran will trace every transaction.
-
-
-
Constructor Detail
-
IgniteTransactionsImpl
public IgniteTransactionsImpl(GridCacheSharedContext<K,V> cctx, @Nullable @Nullable String lb, boolean tracingEnabled)
- Parameters:
cctx- Cache shared context.lb- Label.
-
-
Method Detail
-
txStart
public Transaction txStart() throws IllegalStateException
Starts transaction with default isolation, concurrency, timeout, and invalidation policy. All defaults are set inTransactionConfigurationat startup.- Specified by:
txStartin interfaceIgniteTransactions- Returns:
- New transaction
- Throws:
IllegalStateException- If transaction is already started by this thread.
-
txStart
public Transaction txStart(TransactionConcurrency concurrency, TransactionIsolation isolation)
Starts new transaction with the specified concurrency and isolation.- Specified by:
txStartin interfaceIgniteTransactions- Parameters:
concurrency- Concurrency.isolation- Isolation.- Returns:
- New transaction.
-
txStart
public Transaction txStart(TransactionConcurrency concurrency, TransactionIsolation isolation, long timeout, int txSize)
Starts transaction with specified isolation, concurrency, timeout, invalidation flag, and number of participating entries.- Specified by:
txStartin interfaceIgniteTransactions- Parameters:
concurrency- Concurrency.isolation- Isolation.timeout- Timeout.txSize- Number of entries participating in transaction (may be approximate).- Returns:
- New transaction.
-
txStartEx
public GridNearTxLocal txStartEx(GridCacheContext ctx, TransactionConcurrency concurrency, TransactionIsolation isolation, long timeout, int txSize)
- Specified by:
txStartExin interfaceIgniteTransactionsEx- Parameters:
ctx- Cache context.concurrency- Concurrency.isolation- Isolation.timeout- Timeout.txSize- Number of entries participating in transaction (may be approximate).- Returns:
- New transaction.
-
txStartEx
public GridNearTxLocal txStartEx(GridCacheContext ctx, TransactionConcurrency concurrency, TransactionIsolation isolation)
- Specified by:
txStartExin interfaceIgniteTransactionsEx- Parameters:
ctx- Cache context.concurrency- Concurrency.isolation- Isolation.- Returns:
- New transaction.
-
tx
@Nullable public @Nullable Transaction tx()
Gets transaction started by this thread ornullif this thread does not have a transaction.- Specified by:
txin interfaceIgniteTransactions- Returns:
- Transaction started by this thread or
nullif this thread does not have a transaction.
-
metrics
public TransactionMetrics metrics()
- Specified by:
metricsin interfaceIgniteTransactions- Returns:
- Transaction metrics.
-
resetMetrics
public void resetMetrics()
Resets transaction metrics.- Specified by:
resetMetricsin interfaceIgniteTransactions
-
localActiveTransactions
public Collection<Transaction> localActiveTransactions()
Returns a list of active transactions initiated by this node.Note: returned transaction handle will only support getters,
Transaction.close(),Transaction.rollback(),Transaction.rollbackAsync()methods. Trying to invoke other methods will lead to UnsupportedOperationException.- Specified by:
localActiveTransactionsin interfaceIgniteTransactions- Returns:
- Transactions started on local node.
-
withLabel
public IgniteTransactions withLabel(String lb)
Returns instance of Ignite Transactions to mark a transaction with a special label. The label can be obtained viaTransaction.label()method.- Specified by:
withLabelin interfaceIgniteTransactions- Parameters:
lb- label.- Returns:
Thisfor chaining.- See Also:
Transaction.label()
-
withTracing
public IgniteTransactions withTracing()
Returns an instance ofIgniteTransactionstran will trace every transaction.- Specified by:
withTracingin interfaceIgniteTransactions- Returns:
- Trace-enabled transactions intance.
-
-