java.lang.Object
org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl
All Implemented Interfaces:
EntityTransaction

public class EntityTransactionImpl extends Object implements EntityTransaction
JDK 1.5 version of the EntityTransaction. Differs from base version only in that it takes a JDK 1.5 version of the EntityTransactionWrapper.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected boolean
     
    protected org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.TransactionFinalizer
     
    static boolean
    PERF: Avoid finalization if not required by the application, and finalizers have major concurrency affects.
    Keep a weak reference to the open queries that are executed in this entity manager.
    protected boolean
     
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Queries that leave the connection and are executed against this entity manager will be added here.
    void
    Start the current transaction.
    protected void
    Open queries within a transaction will be closed on commit or rollback if they haven't already been closed.
    void
    Commit the current transaction, writing any un-flushed changes to the database.
    Return the weak reference to the open queries.
    boolean
    Determine whether the current transaction has been marked for rollback.
    boolean
    Check to see if the current transaction is in progress.
    void
    Roll back the current transaction, discarding any changes that have happened in this transaction.
    void
    Mark the current transaction so that the only possible outcome of the transaction is for the transaction to be rolled back.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • openQueriesMap

      protected WeakHashMap<QueryImpl,QueryImpl> openQueriesMap
      Keep a weak reference to the open queries that are executed in this entity manager.
    • wrapper

      protected EntityTransactionWrapper wrapper
    • active

      protected boolean active
    • rollbackOnly

      protected boolean rollbackOnly
    • finalizer

      protected org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.TransactionFinalizer finalizer
    • isFinalizedRequired

      public static boolean isFinalizedRequired
      PERF: Avoid finalization if not required by the application, and finalizers have major concurrency affects.
  • Constructor Details

  • Method Details

    • addOpenQuery

      public void addOpenQuery(QueryImpl query)
      Queries that leave the connection and are executed against this entity manager will be added here. On rollback or commit any left over open queries should be closed.
    • begin

      public void begin()
      Start the current transaction. This can only be invoked if isActive() returns false.
      Specified by:
      begin in interface EntityTransaction
      Throws:
      IllegalStateException - if isActive() is true.
    • closeOpenQueries

      protected void closeOpenQueries()
      Open queries within a transaction will be closed on commit or rollback if they haven't already been closed.
    • commit

      public void commit()
      Commit the current transaction, writing any un-flushed changes to the database. This can only be invoked if isActive() returns true.
      Specified by:
      commit in interface EntityTransaction
      Throws:
      IllegalStateException - if isActive() is false.
    • rollback

      public void rollback()
      Roll back the current transaction, discarding any changes that have happened in this transaction. This can only be invoked if isActive() returns true.
      Specified by:
      rollback in interface EntityTransaction
      Throws:
      IllegalStateException - if isActive() is false.
    • setRollbackOnly

      public void setRollbackOnly()
      Mark the current transaction so that the only possible outcome of the transaction is for the transaction to be rolled back.
      Specified by:
      setRollbackOnly in interface EntityTransaction
      Throws:
      IllegalStateException - if isActive() is false.
    • getOpenQueriesMap

      protected Map<QueryImpl,QueryImpl> getOpenQueriesMap()
      Return the weak reference to the open queries.
    • getRollbackOnly

      public boolean getRollbackOnly()
      Determine whether the current transaction has been marked for rollback.
      Specified by:
      getRollbackOnly in interface EntityTransaction
      Throws:
      IllegalStateException - if isActive() is false.
    • isActive

      public boolean isActive()
      Check to see if the current transaction is in progress.
      Specified by:
      isActive in interface EntityTransaction