Interface ExternalTransactionController

All Known Implementing Classes:
AbstractTransactionController, GlassfishTransactionController, GlassfishTransactionController11, JBossTransactionController, JBossTransactionController11, JotmTransactionController, JTA11TransactionController, JTATransactionController, Oc4jTransactionController, SAPNetWeaverTransactionController, WebLogicTransactionController, WebLogicTransactionController11, WebSphereEJBEmbeddableTransactionController, WebSphereLibertyTransactionController, WebSphereTransactionController

public interface ExternalTransactionController

Purpose: Interface for external transaction management.

Description: This interface represents a delegate to be used for external transaction management. The implementing class may interface to an OMG OTS service, a Java JTA service or a manufacturer's specific implementation of these services.

Responsibilities:

  • Define the API for UnitOfWork to add a listener to the externally controlled transaction.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    beginTransaction(org.eclipse.persistence.internal.sessions.AbstractSession session)
    INTERNAL: Begin a transaction externally.
    void
    INTERNAL: Clears sequencing listeners.
    void
    commitTransaction(org.eclipse.persistence.internal.sessions.AbstractSession session)
    INTERNAL: Commit a transaction externally.
    org.eclipse.persistence.internal.sequencing.SequencingCallback
    getActiveSequencingCallback(DatabaseSession dbSession, org.eclipse.persistence.internal.sequencing.SequencingCallbackFactory sequencingCallbackFactory)
    INTERNAL: Returns sequencingCallback for the current active external transaction.
    org.eclipse.persistence.internal.sessions.UnitOfWorkImpl
    INTERNAL: Return the active unit of work for the current active external transaction.
    Return the exception handler used to handle or wrap exceptions thrown in before/after completion.
    org.eclipse.persistence.internal.sessions.AbstractSession
    INTERNAL: Return the manager's session.
    void
    INTERNAL: Initializes sequencing listeners.
    void
    INTERNAL: Marks the external transaction for rollback only.
    void
    registerSynchronizationListener(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, org.eclipse.persistence.internal.sessions.AbstractSession session)
    INTERNAL: Register a listener on the unit of work.
    void
    rollbackTransaction(org.eclipse.persistence.internal.sessions.AbstractSession session)
    INTERNAL: Rollback a transaction externally.
    void
    Set an exception handler to handle or wrap exceptions thrown in before/after completion.
    void
    setSession(org.eclipse.persistence.internal.sessions.AbstractSession session)
    INTERNAL: Set the manager's session.
  • Method Details

    • beginTransaction

      void beginTransaction(org.eclipse.persistence.internal.sessions.AbstractSession session)
      INTERNAL: Begin a transaction externally. This allows for EclipseLink to force a JTS transaction.
    • commitTransaction

      void commitTransaction(org.eclipse.persistence.internal.sessions.AbstractSession session)
      INTERNAL: Commit a transaction externally. This allows for EclipseLink to force a JTS transaction.
    • getActiveUnitOfWork

      org.eclipse.persistence.internal.sessions.UnitOfWorkImpl getActiveUnitOfWork()
      INTERNAL: Return the active unit of work for the current active external transaction.
    • getSession

      org.eclipse.persistence.internal.sessions.AbstractSession getSession()
      INTERNAL: Return the manager's session.
    • registerSynchronizationListener

      void registerSynchronizationListener(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
      INTERNAL: Register a listener on the unit of work. The listener will callback to the unit of work to tell it to commit and merge.
      Throws:
      DatabaseException
    • rollbackTransaction

      void rollbackTransaction(org.eclipse.persistence.internal.sessions.AbstractSession session)
      INTERNAL: Rollback a transaction externally. This allows for EclipseLink to force a JTS transaction.
    • markTransactionForRollback

      void markTransactionForRollback()
      INTERNAL: Marks the external transaction for rollback only.
    • setSession

      void setSession(org.eclipse.persistence.internal.sessions.AbstractSession session)
      INTERNAL: Set the manager's session.
    • initializeSequencingListeners

      void initializeSequencingListeners()
      INTERNAL: Initializes sequencing listeners. Always clears sequencing listeners first. There are two methods calling this method: 1. setSession method - this could lead to initialization of sequencing listeners only if sequencing already connected (that would happen if setSession is called after session.login, which is normally not the case). 2. in the very end of connecting sequencing, after it's determined whether sequencing callbacks (and therefore listeners) will be required.
    • getActiveSequencingCallback

      org.eclipse.persistence.internal.sequencing.SequencingCallback getActiveSequencingCallback(DatabaseSession dbSession, org.eclipse.persistence.internal.sequencing.SequencingCallbackFactory sequencingCallbackFactory)
      INTERNAL: Returns sequencingCallback for the current active external transaction. DatabaseSession is passed for the sake of SessionBroker case. This method requires active external transaction.
    • clearSequencingListeners

      void clearSequencingListeners()
      INTERNAL: Clears sequencing listeners. Called by initializeSequencingListeners and by sequencing on disconnect.
    • getExceptionHandler

      ExceptionHandler getExceptionHandler()
      Return the exception handler used to handle or wrap exceptions thrown in before/after completion.
    • setExceptionHandler

      void setExceptionHandler(ExceptionHandler exceptionHandler)
      Set an exception handler to handle or wrap exceptions thrown in before/after completion.