|
[Deprecated API] | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | CURRENT API | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object
|
+--com.interface21.transaction.support.AbstractPlatformTransactionManager
|
+--com.interface21.transaction.jta.JtaTransactionManager
PlatformTransactionManager implementation for JTA.
Set allowNonTransactionalExecution to be able to fall back to non-transactional execution if JTA isn't available in the container. Transaction synchronization is active by default, as it is typically used for transactional cache handling with JTA (e.g. with Hibernate).
This transaction manager is appropriate for handling distributed transactions, i.e. transactions that span multiple resources, and for managing transactions on a J2EE Connector (e.g. a persistence toolkit registered as Connector). For a single JDBC DataSource, DataSourceTransactionManager is perfectly sufficient, and for accessing a single resource with Hibernate (including transactional cache), HibernateTransactionManager is appropriate.
Note: This implementation does not handle isolation levels. This needs to be done by server-specific subclasses, overriding applyIsolationLevel. DataSourceTransactionManager and HibernateTransactionManager do support custom isolation levels, though.
AbstractPlatformTransactionManager.setAllowNonTransactionalExecution(boolean),
AbstractPlatformTransactionManager.setTransactionSynchronization(boolean),
applyIsolationLevel(javax.transaction.UserTransaction, int),
DataSourceTransactionManager,
HibernateTransactionManager| Field Summary | |
static java.lang.String |
DEFAULT_USER_TRANSACTION_NAME
|
| Fields inherited from class com.interface21.transaction.support.AbstractPlatformTransactionManager |
logger |
| Constructor Summary | |
JtaTransactionManager()
Create a new JtaTransactionManager instance. |
|
| Method Summary | |
protected void |
applyIsolationLevel(javax.transaction.UserTransaction ut,
int isolationLevel)
Initialize the given UserTransaction with the given isolation level. |
protected void |
doBegin(java.lang.Object transaction,
int isolationLevel,
int timeout)
Begin a new transaction with the given isolation level. |
protected void |
doCommit(TransactionStatus status)
Perform an actual commit on the given transaction. |
protected java.lang.Object |
doGetTransaction()
Return a current transaction object, i.e. a JTA UserTransaction. |
protected void |
doRollback(TransactionStatus status)
Perform an actual rollback on the given transaction. |
protected void |
doSetRollbackOnly(TransactionStatus status)
Set the given transaction rollback-only. |
protected boolean |
isExistingTransaction(java.lang.Object transaction)
Check if the given transaction object indicates an existing, i.e. already begun, transaction. |
void |
setJndiTemplate(JndiTemplate jndiTemplate)
Set the JndiTemplate to use for JNDI lookup. |
void |
setUserTransactionName(java.lang.String userTransactionName)
Set the JNDI name of the UserTransaction. |
| Methods inherited from class com.interface21.transaction.support.AbstractPlatformTransactionManager |
commit, getAllowNonTransactionalExecution, getTransaction, getTransactionSynchronization, rollback, setAllowNonTransactionalExecution, setTransactionSynchronization |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final java.lang.String DEFAULT_USER_TRANSACTION_NAME
| Constructor Detail |
public JtaTransactionManager()
| Method Detail |
public final void setJndiTemplate(JndiTemplate jndiTemplate)
public void setUserTransactionName(java.lang.String userTransactionName)
DEFAULT_USER_TRANSACTION_NAMEprotected java.lang.Object doGetTransaction()
AbstractPlatformTransactionManagerdoGetTransaction in class AbstractPlatformTransactionManagercom.interface21.transaction.support.AbstractPlatformTransactionManagerCannotCreateTransactionException - if transaction support is
not available (e.g. no JTA UserTransaction retrievable from JNDI)TransactionException - in case of lookup or system errorsprotected boolean isExistingTransaction(java.lang.Object transaction)
AbstractPlatformTransactionManagerisExistingTransaction in class AbstractPlatformTransactionManagercom.interface21.transaction.support.AbstractPlatformTransactionManagertransaction - transaction object returned by doGetTransaction()TransactionException - in case of system errors
protected void doBegin(java.lang.Object transaction,
int isolationLevel,
int timeout)
AbstractPlatformTransactionManagerdoBegin in class AbstractPlatformTransactionManagercom.interface21.transaction.support.AbstractPlatformTransactionManagertransaction - transaction object returned by doGetTransaction()isolationLevel - desired isolation leveltimeout - transaction timeout (in seconds)TransactionException - in case of creation or system errors
protected void applyIsolationLevel(javax.transaction.UserTransaction ut,
int isolationLevel)
This standard JTA implementation simply ignores the isolation level. To be overridden by server-specific subclasses that actually handle the isolation level.
ut - UserTransaction instance representing the JTA transactionisolationLevel - the isolation level to setprotected void doCommit(TransactionStatus status)
AbstractPlatformTransactionManagerdoCommit in class AbstractPlatformTransactionManagercom.interface21.transaction.support.AbstractPlatformTransactionManagerstatus - status representation of the transactionTransactionException - in case of commit or system errorsprotected void doRollback(TransactionStatus status)
AbstractPlatformTransactionManagerdoRollback in class AbstractPlatformTransactionManagercom.interface21.transaction.support.AbstractPlatformTransactionManagerstatus - status representation of the transactionTransactionException - in case of system errorsprotected void doSetRollbackOnly(TransactionStatus status)
AbstractPlatformTransactionManagerdoSetRollbackOnly in class AbstractPlatformTransactionManagercom.interface21.transaction.support.AbstractPlatformTransactionManagerstatus - status representation of the transactionTransactionException - in case of system errors
|
[Deprecated API] | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | CURRENT API | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||