|
[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.datasource.DataSourceTransactionManager
PlatformTransactionManager implementation for single data sources. Binds a JDBC connection from the specified data source to the thread, potentially allowing for one thread connection per data source. Supports custom isolation levels but not timeouts.
Application code is required to retrieve the JDBC connection via DataSourceUtils.getConnection(DataSource) instead of J2EE's standard DataSource.getConnection. This is recommended anyway, as it throws unchecked com.interface21.dao exceptions instead of checked SQLException. All framework classes like JdbcTemplate use this strategy implicitly. If not used with this transaction manager, the lookup strategy behaves exactly like the common one - it can thus be used in any case.
This implementation can be used instead of JtaTransactionManager in the single resource case, as it does not require the container to support JTA. Switching between both is just a matter of configuration, if you stick to the required connection lookup pattern.
DataSourceUtils.getConnection(javax.sql.DataSource),
SingleConnectionDataSource,
ThreadObjectManager| Fields inherited from class com.interface21.transaction.support.AbstractPlatformTransactionManager |
logger |
| Constructor Summary | |
DataSourceTransactionManager()
Create a new DataSourceTransactionManager instance. |
|
DataSourceTransactionManager(javax.sql.DataSource dataSource)
Create a new DataSourceTransactionManager instance. |
|
| Method Summary | |
void |
afterPropertiesSet()
Invoked by a BeanFactory after it has set all bean properties supplied. |
protected void |
doBegin(java.lang.Object transaction,
int isolationLevel,
int timeout)
This implementation sets the isolation level but ignores the timeout. |
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. |
javax.sql.DataSource |
getDataSource()
Return the J2EE DataSource that this instance manages transactions for. |
protected boolean |
isExistingTransaction(java.lang.Object transaction)
Check if the given transaction object indicates an existing, i.e. already begun, transaction. |
void |
setDataSource(javax.sql.DataSource dataSource)
Set the J2EE DataSource that this instance should manage transactions for. |
| 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 |
| Constructor Detail |
public DataSourceTransactionManager()
setDataSource(javax.sql.DataSource)public DataSourceTransactionManager(javax.sql.DataSource dataSource)
dataSource - DataSource to manage transactions for| Method Detail |
public final void setDataSource(javax.sql.DataSource dataSource)
public javax.sql.DataSource getDataSource()
public void afterPropertiesSet()
InitializingBeanafterPropertiesSet in interface InitializingBeancom.interface21.beans.factory.InitializingBeanjava.lang.Exception - in the event of misconfiguration (such
as failure to set an essential property) or if initialization fails.protected 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)
doBegin 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 errorsprotected 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 | ||||||||||