|
EclipseLink 2.3.2, build 'v20111125-r10461' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.persistence.transaction.AbstractTransactionController
org.eclipse.persistence.transaction.JTATransactionController
public class JTATransactionController
Purpose: TransactionController implementation for JTA 1.0
Description: Implements the required behavior for controlling JTA 1.0 transactions. Specific JTA implementations may need to extend this class when special controller behavior is necessary.
The JTA TransactionManager must be obtained and set on the instance in order for a Synchronization listener to be registered against the transaction. This can be done either by extending this class and defining acquireTransactionManager() to return the manager for the server, or by using this class and explicitly calling the setTransactionManager() method on it after the fact. e.g. TransactionManager mgr = controller.jndiLookup("java:comp/TransactionManager"); controller.setTransactionManager(mgr);
If a different listener needs to be used for synchronization, the SynchronizationListenerFactory should be set on the controller instance. The listener subclass should implement the factory interface, so that setting the factory is simply a matter of assigning an instance of the listener. e.g. controller.setSynchronizationListenerFactory( new DifferentServerSynchronizationListener()); The default listener factory creates instances of JTATransactionListener.
JTASynchronizationListener
,
AbstractTransactionController
Field Summary | |
---|---|
protected static javax.transaction.TransactionManager |
defaultTransactionManager
|
protected javax.transaction.TransactionManager |
transactionManager
|
Fields inherited from class org.eclipse.persistence.transaction.AbstractTransactionController |
---|
activeUnitOfWorkThreadLocal, currentlyProcessedListeners, listenerFactory, numSessionsRequiringSequencingCallback, sequencingListeners, session, unitsOfWork |
Constructor Summary | |
---|---|
JTATransactionController()
PUBLIC: Return a new controller for use with a JTA 1.0 compliant TransactionManager. |
|
JTATransactionController(javax.transaction.TransactionManager transactionManager)
PUBLIC: Return a new controller for use with a JTA 1.0 compliant TransactionManager. |
Method Summary | |
---|---|
protected javax.transaction.TransactionManager |
acquireTransactionManager()
INTERNAL: Obtain and return the JTA TransactionManager on this platform. |
protected void |
beginTransaction_impl()
INTERNAL: Begin an external transaction. |
protected boolean |
canBeginTransaction_impl(java.lang.Object status)
INTERNAL: Return true if the status indicates that a transaction can be started. |
protected boolean |
canCommitTransaction_impl(java.lang.Object status)
INTERNAL: Return true if the status indicates that a transaction can be committed. |
protected boolean |
canIssueSQLToDatabase_impl(java.lang.Object status)
INTERNAL: Return true if the status indicates that the SQL should be issued to the db. |
protected boolean |
canMergeUnitOfWork_impl(java.lang.Object status)
INTERNAL: Return true if the status indicates that the unit of work should be merged into the shared cache. |
protected boolean |
canRollbackTransaction_impl(java.lang.Object status)
INTERNAL: Return true if the status indicates that a transaction can be rolled back. |
protected void |
commitTransaction_impl()
INTERNAL: Commit the external transaction. |
static javax.transaction.TransactionManager |
getDefaultTransactionManager()
|
protected int |
getIntStatus(java.lang.Object status)
INTERNAL: Convenience method to return the int value of the transaction status. |
protected java.lang.Object |
getTransaction_impl()
INTERNAL: Return the active external transaction, or null if none is currently active for this thread. |
protected java.lang.Object |
getTransactionKey_impl(java.lang.Object transaction)
INTERNAL: Return a key for the specified external transaction object. |
javax.transaction.TransactionManager |
getTransactionManager()
PUBLIC: Return the transaction manager used to control the JTA transactions. |
protected java.lang.Object |
getTransactionStatus_impl()
INTERNAL: Return the transaction status as an object. |
boolean |
isRolledBack_impl(java.lang.Object status)
INTERNAL: Return true if the transaction is rolled back. |
protected void |
markTransactionForRollback_impl()
INTERNAL: Mark the external transaction for rollback. |
protected void |
registerSynchronization_impl(AbstractSynchronizationListener listener,
java.lang.Object txn)
INTERNAL: Register the specified synchronization listener with the given active transaction. |
protected void |
rollbackTransaction_impl()
INTERNAL: Roll back the external transaction. |
static void |
setDefaultTransactionManager(javax.transaction.TransactionManager defaultTransactionManager)
PUBLIC: Set the JTA transaction manager to be used. |
void |
setTransactionManager(javax.transaction.TransactionManager mgr)
PUBLIC: Set the transaction manager used to control the JTA transactions. |
protected java.lang.String |
statusToString_impl(java.lang.Object status)
INTERNAL: Convert the status to a string for tracing. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static javax.transaction.TransactionManager defaultTransactionManager
protected javax.transaction.TransactionManager transactionManager
Constructor Detail |
---|
public JTATransactionController()
public JTATransactionController(javax.transaction.TransactionManager transactionManager)
Method Detail |
---|
protected void registerSynchronization_impl(AbstractSynchronizationListener listener, java.lang.Object txn) throws java.lang.Exception
registerSynchronization_impl
in class AbstractTransactionController
listener
- The synchronization listener created for this transactiontxn
- The active transaction for which notification is being requested
java.lang.Exception
protected java.lang.Object getTransaction_impl() throws java.lang.Exception
getTransaction_impl
in class AbstractTransactionController
java.lang.Exception
protected java.lang.Object getTransactionKey_impl(java.lang.Object transaction) throws java.lang.Exception
getTransactionKey_impl
in class AbstractTransactionController
transaction
- The transaction to which the returned key applies (may be null)
java.lang.Exception
protected java.lang.Object getTransactionStatus_impl() throws java.lang.Exception
getTransactionStatus_impl
in class AbstractTransactionController
java.lang.Exception
protected void beginTransaction_impl() throws java.lang.Exception
beginTransaction_impl
in class AbstractTransactionController
java.lang.Exception
protected void commitTransaction_impl() throws java.lang.Exception
commitTransaction_impl
in class AbstractTransactionController
java.lang.Exception
protected void rollbackTransaction_impl() throws java.lang.Exception
rollbackTransaction_impl
in class AbstractTransactionController
java.lang.Exception
protected void markTransactionForRollback_impl() throws java.lang.Exception
markTransactionForRollback_impl
in class AbstractTransactionController
java.lang.Exception
protected boolean canBeginTransaction_impl(java.lang.Object status)
canBeginTransaction_impl
in class AbstractTransactionController
status
- The current transaction status
protected boolean canCommitTransaction_impl(java.lang.Object status)
canCommitTransaction_impl
in class AbstractTransactionController
status
- The current transaction status
protected boolean canRollbackTransaction_impl(java.lang.Object status)
canRollbackTransaction_impl
in class AbstractTransactionController
status
- The current transaction status
protected boolean canIssueSQLToDatabase_impl(java.lang.Object status)
canIssueSQLToDatabase_impl
in class AbstractTransactionController
status
- The current transaction status
protected boolean canMergeUnitOfWork_impl(java.lang.Object status)
canMergeUnitOfWork_impl
in class AbstractTransactionController
status
- The current transaction status
public boolean isRolledBack_impl(java.lang.Object status)
isRolledBack_impl
in class AbstractTransactionController
protected javax.transaction.TransactionManager acquireTransactionManager() throws java.lang.Exception
java.lang.Exception
protected int getIntStatus(java.lang.Object status)
public javax.transaction.TransactionManager getTransactionManager()
public void setTransactionManager(javax.transaction.TransactionManager mgr)
mgr
- A valid JTA TransactionManager that can be
accessed by this controller to obtain transaction state information and
control the active transaction.protected java.lang.String statusToString_impl(java.lang.Object status)
AbstractTransactionController
statusToString_impl
in class AbstractTransactionController
public static javax.transaction.TransactionManager getDefaultTransactionManager()
public static void setDefaultTransactionManager(javax.transaction.TransactionManager defaultTransactionManager)
|
EclipseLink 2.3.2, build 'v20111125-r10461' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |