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 Details

  • Constructor Details

    • AbstractInternalTransaction

      public AbstractInternalTransaction()
  • Method Details

    • setGlobalRollbackOnly

      protected void setGlobalRollbackOnly()
      Set global rollback only.
    • setRollbackOnly

      public void setRollbackOnly()
      Description copied from interface: TransactionExecution
      Set 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:
      setRollbackOnly in interface TransactionExecution
    • isRollbackOnly

      public boolean isRollbackOnly()
      Description copied from interface: TransactionExecution
      Return whether the transaction has been marked as rollback-only (either by the application or by the transaction infrastructure).
      Specified by:
      isRollbackOnly in interface TransactionExecution
      Returns:
      Whether the execution has been marked to rollback
    • isLocalRollbackOnly

      public boolean isLocalRollbackOnly()
      Description copied from interface: InternalTransaction
      Determine the rollback-only flag via checking this TransactionStatus.

      Will only return "true" if the application called setRollbackOnly on this TransactionStatus object.

      Specified by:
      isLocalRollbackOnly in interface InternalTransaction<C>
      Returns:
      Whether is local rollback
    • isGlobalRollbackOnly

      public boolean isGlobalRollbackOnly()
      Description copied from interface: InternalTransaction
      Template method for determining the global rollback-only flag of the underlying transaction, if any.

      This implementation always returns false.

      Specified by:
      isGlobalRollbackOnly in interface InternalTransaction<C>
      Returns:
      Whether is global rollback
    • isCompleted

      public boolean isCompleted()
      Description copied from interface: TransactionExecution
      Return whether this transaction is completed, that is, whether it has already been committed or rolled back.
      Specified by:
      isCompleted in interface TransactionExecution
      Returns:
      Whether the execution has completed
    • triggerBeforeCommit

      public void triggerBeforeCommit()
      Specified by:
      triggerBeforeCommit in interface InternalTransaction<C>
    • triggerAfterCommit

      public void triggerAfterCommit()
      Specified by:
      triggerAfterCommit in interface InternalTransaction<C>
    • triggerBeforeCompletion

      public void triggerBeforeCompletion()
      Specified by:
      triggerBeforeCompletion in interface InternalTransaction<C>
    • triggerAfterCompletion

      public void triggerAfterCompletion(TransactionSynchronization.Status status)
      Specified by:
      triggerAfterCompletion in interface InternalTransaction<C>
    • cleanupAfterCompletion

      public void cleanupAfterCompletion()
      Specified by:
      cleanupAfterCompletion in interface InternalTransaction<C>
    • registerSynchronization

      public void registerSynchronization(@NonNull @NonNull TransactionSynchronization synchronization)
      Description copied from interface: TransactionStatus
      Register a new transaction synchronization for the current state.

      Note that synchronizations can implement the Ordered interface. They will be executed in an order according to their order value (if any).

      Specified by:
      registerSynchronization in interface TransactionStatus<C>
      Parameters:
      synchronization - the synchronization object to register