Package io.micronaut.transaction.impl
Class AbstractInternalTransaction<C>
java.lang.Object
io.micronaut.transaction.impl.AbstractInternalTransaction<C>
- Type Parameters:
C- The connection type
- All Implemented Interfaces:
InternalTransaction<C>,TransactionExecution,TransactionStatus<C>
- Direct Known Subclasses:
DefaultTransactionStatus
public abstract class AbstractInternalTransaction<C>
extends Object
implements InternalTransaction<C>
The abstract internal transaction.
- Since:
- 4.0.0
- Author:
- Denis Stepanov
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanReturn whether this transaction is completed, that is, whether it has already been committed or rolled back.booleanTemplate method for determining the global rollback-only flag of the underlying transaction, if any.booleanDetermine the rollback-only flag via checking this TransactionStatus.booleanReturn whether the transaction has been marked as rollback-only (either by the application or by the transaction infrastructure).voidregisterSynchronization(@NonNull TransactionSynchronization synchronization) Register a new transaction synchronization for the current state.protected voidSet global rollback only.voidSet the transaction rollback-only.voidvoidvoidvoidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.transaction.impl.InternalTransaction
resume, suspendMethods inherited from interface io.micronaut.transaction.TransactionExecution
getTransactionDefinition, isNewTransactionMethods inherited from interface io.micronaut.transaction.TransactionStatus
getConnection, getConnectionStatus, getTransaction
-
Field Details
-
synchronizations
-
-
Constructor Details
-
AbstractInternalTransaction
public AbstractInternalTransaction()
-
-
Method Details
-
setGlobalRollbackOnly
protected void setGlobalRollbackOnly()Set global rollback only. -
setRollbackOnly
public void setRollbackOnly()Description copied from interface:TransactionExecutionSet the transaction rollback-only. This instructs the transaction manager that the only possible outcome of the transaction may be a rollback, as alternative to throwing an exception which would in turn trigger a rollback.- Specified by:
setRollbackOnlyin interfaceTransactionExecution
-
isRollbackOnly
public boolean isRollbackOnly()Description copied from interface:TransactionExecutionReturn whether the transaction has been marked as rollback-only (either by the application or by the transaction infrastructure).- Specified by:
isRollbackOnlyin interfaceTransactionExecution- Returns:
- Whether the execution has been marked to rollback
-
isLocalRollbackOnly
public boolean isLocalRollbackOnly()Description copied from interface:InternalTransactionDetermine the rollback-only flag via checking this TransactionStatus.Will only return "true" if the application called
setRollbackOnlyon this TransactionStatus object.- Specified by:
isLocalRollbackOnlyin interfaceInternalTransaction<C>- Returns:
- Whether is local rollback
-
isGlobalRollbackOnly
public boolean isGlobalRollbackOnly()Description copied from interface:InternalTransactionTemplate method for determining the global rollback-only flag of the underlying transaction, if any.This implementation always returns
false.- Specified by:
isGlobalRollbackOnlyin interfaceInternalTransaction<C>- Returns:
- Whether is global rollback
-
isCompleted
public boolean isCompleted()Description copied from interface:TransactionExecutionReturn whether this transaction is completed, that is, whether it has already been committed or rolled back.- Specified by:
isCompletedin interfaceTransactionExecution- Returns:
- Whether the execution has completed
-
triggerBeforeCommit
public void triggerBeforeCommit()- Specified by:
triggerBeforeCommitin interfaceInternalTransaction<C>
-
triggerAfterCommit
public void triggerAfterCommit()- Specified by:
triggerAfterCommitin interfaceInternalTransaction<C>
-
triggerBeforeCompletion
public void triggerBeforeCompletion()- Specified by:
triggerBeforeCompletionin interfaceInternalTransaction<C>
-
triggerAfterCompletion
- Specified by:
triggerAfterCompletionin interfaceInternalTransaction<C>
-
cleanupAfterCompletion
public void cleanupAfterCompletion()- Specified by:
cleanupAfterCompletionin interfaceInternalTransaction<C>
-
registerSynchronization
Description copied from interface:TransactionStatusRegister a new transaction synchronization for the current state.Note that synchronizations can implement the
Orderedinterface. They will be executed in an order according to their order value (if any).- Specified by:
registerSynchronizationin interfaceTransactionStatus<C>- Parameters:
synchronization- the synchronization object to register
-