Class EntityTransactionImpl
- java.lang.Object
-
- org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl
-
- All Implemented Interfaces:
javax.persistence.EntityTransaction
public class EntityTransactionImpl extends java.lang.Object implements javax.persistence.EntityTransactionJDK 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:
EntityTransactionImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanactiveprotected org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.TransactionFinalizerfinalizerstatic booleanisFinalizedRequiredPERF: Avoid finalization if not required by the application, and finalizers have major concurrency affects.protected java.util.WeakHashMap<QueryImpl,QueryImpl>openQueriesMapKeep a weak reference to the open queries that are executed in this entity manager.protected booleanrollbackOnlyprotected EntityTransactionWrapperwrapper
-
Constructor Summary
Constructors Constructor Description EntityTransactionImpl(EntityTransactionWrapper wrapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddOpenQuery(QueryImpl query)Queries that leave the connection and are executed against this entity manager will be added here.voidbegin()Start the current transaction.protected voidcloseOpenQueries()Open queries within a transaction will be closed on commit or rollback if they haven't already been closed.voidcommit()Commit the current transaction, writing any un-flushed changes to the database.protected java.util.Map<QueryImpl,QueryImpl>getOpenQueriesMap()Return the weak reference to the open queries.booleangetRollbackOnly()Determine whether the current transaction has been marked for rollback.booleanisActive()Check to see if the current transaction is in progress.voidrollback()Roll back the current transaction, discarding any changes that have happened in this transaction.voidsetRollbackOnly()Mark the current transaction so that the only possible outcome of the transaction is for the transaction to be rolled back.
-
-
-
Field Detail
-
openQueriesMap
protected java.util.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 Detail
-
EntityTransactionImpl
public EntityTransactionImpl(EntityTransactionWrapper wrapper)
-
-
Method Detail
-
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.- Parameters:
query-
-
begin
public void begin()
Start the current transaction. This can only be invoked ifisActive()returnsfalse.- Specified by:
beginin interfacejavax.persistence.EntityTransaction- Throws:
java.lang.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:
commitin interfacejavax.persistence.EntityTransaction- Throws:
java.lang.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:
rollbackin interfacejavax.persistence.EntityTransaction- Throws:
java.lang.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:
setRollbackOnlyin interfacejavax.persistence.EntityTransaction- Throws:
java.lang.IllegalStateException- if isActive() is false.
-
getOpenQueriesMap
protected java.util.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:
getRollbackOnlyin interfacejavax.persistence.EntityTransaction- Throws:
java.lang.IllegalStateException- if isActive() is false.
-
isActive
public boolean isActive()
Check to see if the current transaction is in progress.- Specified by:
isActivein interfacejavax.persistence.EntityTransaction
-
-