Module org.eclipse.persistence.jpa
Class EntityTransactionImpl
java.lang.Object
org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl
- All Implemented Interfaces:
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
Modifier and TypeFieldDescriptionprotected 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.protected WeakHashMap
<QueryImpl, QueryImpl> Keep a weak reference to the open queries that are executed in this entity manager.protected boolean
protected EntityTransactionWrapper
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addOpenQuery
(QueryImpl query) Queries that leave the connection and are executed against this entity manager will be added here.void
begin()
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()
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
isActive()
Check to see if the current transaction is in progress.void
rollback()
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.
-
Field Details
-
openQueriesMap
Keep a weak reference to the open queries that are executed in this entity manager. -
wrapper
-
active
protected boolean active -
rollbackOnly
protected boolean rollbackOnly -
finalizer
protected org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.TransactionFinalizer finalizer -
isFinalizedRequired
public static boolean isFinalizedRequiredPERF: Avoid finalization if not required by the application, and finalizers have major concurrency affects.
-
-
Constructor Details
-
EntityTransactionImpl
-
-
Method Details
-
addOpenQuery
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 ifisActive()
returnsfalse
.- Specified by:
begin
in interfaceEntityTransaction
- 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 ifisActive()
returnstrue
.- Specified by:
commit
in interfaceEntityTransaction
- 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 ifisActive()
returnstrue
.- Specified by:
rollback
in interfaceEntityTransaction
- 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 interfaceEntityTransaction
- Throws:
IllegalStateException
- if isActive() is false.
-
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 interfaceEntityTransaction
- Throws:
IllegalStateException
- if isActive() is false.
-
isActive
public boolean isActive()Check to see if the current transaction is in progress.- Specified by:
isActive
in interfaceEntityTransaction
-