Class TransactionProxyRollbackOnlyImpl<K,V>
- java.lang.Object
-
- org.apache.ignite.internal.processors.cache.transactions.TransactionProxyImpl<K,V>
-
- org.apache.ignite.internal.processors.cache.transactions.TransactionProxyRollbackOnlyImpl<K,V>
-
- All Implemented Interfaces:
Externalizable,Serializable,AutoCloseable,TransactionProxy,IgniteAsyncSupport,Transaction
public class TransactionProxyRollbackOnlyImpl<K,V> extends TransactionProxyImpl<K,V>
Cache transaction proxy which supports only rollback or close operations and getters.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description TransactionProxyRollbackOnlyImpl()Empty constructor required forExternalizable.TransactionProxyRollbackOnlyImpl(GridNearTxLocal tx, GridCacheSharedContext<K,V> cctx, boolean async)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcommit()Commits this transaction by initiatingtwo-phase-commitprocess.IgniteFuture<Void>commitAsync()Asynchronously commits this transaction by initiatingtwo-phase-commitprocess.voidresume()Resume a transaction if it was previously suspended.booleansetRollbackOnly()Modify the transaction associated with the current thread such that the only possible outcome of the transaction is to roll back the transaction.voidsuspend()Suspends a transaction.longtimeout(long timeout)Sets transaction timeout value.-
Methods inherited from class org.apache.ignite.internal.processors.cache.transactions.TransactionProxyImpl
close, concurrency, future, implicit, isAsync, isInvalidate, isolation, isRollbackOnly, label, nodeId, readExternal, rollback, rollbackAsync, startTime, state, threadId, timeout, toString, tx, withAsync, writeExternal, xid
-
-
-
-
Constructor Detail
-
TransactionProxyRollbackOnlyImpl
public TransactionProxyRollbackOnlyImpl()
Empty constructor required forExternalizable.
-
TransactionProxyRollbackOnlyImpl
public TransactionProxyRollbackOnlyImpl(GridNearTxLocal tx, GridCacheSharedContext<K,V> cctx, boolean async)
- Parameters:
tx- Tx.cctx- Cctx.async- Async.
-
-
Method Detail
-
setRollbackOnly
public boolean setRollbackOnly()
Modify the transaction associated with the current thread such that the only possible outcome of the transaction is to roll back the transaction.- Specified by:
setRollbackOnlyin interfaceTransaction- Overrides:
setRollbackOnlyin classTransactionProxyImpl<K,V>- Returns:
Trueif rollback-only flag was set as a result of this operation,falseif it was already set prior to this call or could not be set because transaction is already finishing up committing or rolling back.
-
commit
public void commit()
Commits this transaction by initiatingtwo-phase-commitprocess.- Specified by:
commitin interfaceTransaction- Overrides:
commitin classTransactionProxyImpl<K,V>
-
commitAsync
public IgniteFuture<Void> commitAsync() throws IgniteException
Asynchronously commits this transaction by initiatingtwo-phase-commitprocess.- Specified by:
commitAsyncin interfaceTransaction- Overrides:
commitAsyncin classTransactionProxyImpl<K,V>- Returns:
- a Future representing pending completion of the commit.
- Throws:
IgniteException- If commit failed.TransactionTimeoutException- If transaction is timed out.TransactionRollbackException- If transaction is manually/automatically rolled back.TransactionOptimisticException- If transaction concurrency isTransactionConcurrency.OPTIMISTICand commit is optimistically failed.TransactionHeuristicException- If transaction has entered an unknown state.
-
suspend
public void suspend() throws IgniteExceptionSuspends a transaction. It could be resumed later.- Specified by:
suspendin interfaceTransaction- Overrides:
suspendin classTransactionProxyImpl<K,V>- Throws:
IgniteException- If suspension failed.
-
resume
public void resume() throws IgniteExceptionResume a transaction if it was previously suspended.- Specified by:
resumein interfaceTransaction- Overrides:
resumein classTransactionProxyImpl<K,V>- Throws:
IgniteException- If resume failed.
-
timeout
public long timeout(long timeout)
Sets transaction timeout value. This value can be set only before a first operation on transaction has been performed.- Specified by:
timeoutin interfaceTransaction- Overrides:
timeoutin classTransactionProxyImpl<K,V>- Parameters:
timeout- Transaction timeout value.- Returns:
- Previous timeout.
-
-