Interface TransactionalSystem

All Superinterfaces:
Transactional, Transactional
All Known Implementing Classes:
TransactionalBase

public interface TransactionalSystem extends Transactional
Implementation side of a Transactional. Transactional presents the application facing view whereas this has all the possible steps of an implementation. Normally, the implementation of commit() is split up.
  • Method Details

    • commit

      default void commit()
      Specified by:
      commit in interface Transactional
    • commitPrepare

      void commitPrepare()
      Do the 2-phase "prepare" step after which the transaction coordinator decides whether to commit or abort. A TransactionalSystem must be prepared for both possibilities.
    • commitExec

      void commitExec()
      Do the 2-phase "commit" step
    • detach

      Suspend this transaction, detaching from the current thread. A new transaction on this thread can performed but the detached transaction still exists and if it is a write transaction it can still block other write transactions.
    • attach

      void attach(TransactionCoordinatorState coordinatorState)
      Attach a transaction to this thread. A transaction system implementation usually imposes a rule that only one thread can have a transaction attached at a time.
    • getTxnMgr

      Get the associated TransactionCoordinator
    • getTransactionInfo

      TransactionInfo getTransactionInfo()
      Return an information view of the transaction for this thread, if any. Returns null when there is no active transaction for this tread.
    • getThreadTransaction

      Transaction getThreadTransaction()
      Return the transaction object for this thread. Low-level use only. To get information about the current transaction, call getTransactionInfo().