|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.transaction.support.TransactionSynchronizationAdapter org.springframework.jdbc.datasource.DataSourceUtils.ConnectionSynchronization
private static class DataSourceUtils.ConnectionSynchronization
Callback for resource cleanup at the end of a non-native JDBC transaction (e.g. when participating in a JtaTransactionManager transaction).
JtaTransactionManager
Field Summary | |
---|---|
private ConnectionHolder |
connectionHolder
|
private javax.sql.DataSource |
dataSource
|
private boolean |
holderActive
|
private int |
order
|
Fields inherited from interface org.springframework.transaction.support.TransactionSynchronization |
---|
STATUS_COMMITTED, STATUS_ROLLED_BACK, STATUS_UNKNOWN |
Fields inherited from interface org.springframework.core.Ordered |
---|
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE |
Constructor Summary | |
---|---|
DataSourceUtils.ConnectionSynchronization(ConnectionHolder connectionHolder,
javax.sql.DataSource dataSource)
|
Method Summary | |
---|---|
void |
afterCompletion(int status)
Invoked after transaction commit/rollback. |
void |
beforeCompletion()
Invoked before transaction commit/rollback. |
int |
getOrder()
Return the order value of this object, with a higher value meaning greater in terms of sorting. |
void |
resume()
Resume this synchronization. |
void |
suspend()
Suspend this synchronization. |
Methods inherited from class org.springframework.transaction.support.TransactionSynchronizationAdapter |
---|
afterCommit, beforeCommit, flush |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final ConnectionHolder connectionHolder
private final javax.sql.DataSource dataSource
private int order
private boolean holderActive
Constructor Detail |
---|
public DataSourceUtils.ConnectionSynchronization(ConnectionHolder connectionHolder, javax.sql.DataSource dataSource)
Method Detail |
---|
public int getOrder()
Ordered
Normally starting with 0, with Integer.MAX_VALUE
indicating the greatest value. Same order values will result
in arbitrary positions for the affected objects.
Higher values can be interpreted as lower priority. As a consequence, the object with the lowest value has highest priority (somewhat analogous to Servlet "load-on-startup" values).
getOrder
in interface Ordered
getOrder
in class TransactionSynchronizationAdapter
public void suspend()
TransactionSynchronization
suspend
in interface TransactionSynchronization
suspend
in class TransactionSynchronizationAdapter
TransactionSynchronizationManager.unbindResource(java.lang.Object)
public void resume()
TransactionSynchronization
resume
in interface TransactionSynchronization
resume
in class TransactionSynchronizationAdapter
TransactionSynchronizationManager.bindResource(java.lang.Object, java.lang.Object)
public void beforeCompletion()
TransactionSynchronization
This method will be invoked after beforeCommit
, even when
beforeCommit
threw an exception. This callback allows for
closing resources before transaction completion, for any outcome.
beforeCompletion
in interface TransactionSynchronization
beforeCompletion
in class TransactionSynchronizationAdapter
TransactionSynchronization.beforeCommit(boolean)
,
TransactionSynchronization.afterCompletion(int)
public void afterCompletion(int status)
TransactionSynchronization
NOTE: The transaction will have been committed or rolled back already,
but the transactional resources might still be active and accessible. As a
consequence, any data access code triggered at this point will still "participate"
in the original transaction, allowing to perform some cleanup (with no commit
following anymore!), unless it explicitly declares that it needs to run in a
separate transaction. Hence: Use PROPAGATION_REQUIRES_NEW
for any transactional operation that is called from here.
afterCompletion
in interface TransactionSynchronization
afterCompletion
in class TransactionSynchronizationAdapter
status
- completion status according to the STATUS_*
constantsTransactionSynchronization.STATUS_COMMITTED
,
TransactionSynchronization.STATUS_ROLLED_BACK
,
TransactionSynchronization.STATUS_UNKNOWN
,
TransactionSynchronization.beforeCompletion()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |