站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > Spring Framework 1.2.9 API 文档英文版

TransactionSynchronizationAdapter (Spring Framework) - Spring Framework 1.2.9 API 文档英文版


org.springframework.transaction.support
Class TransactionSynchronizationAdapter

java.lang.Object
  extended by org.springframework.transaction.support.TransactionSynchronizationAdapter
All Implemented Interfaces:
Ordered, TransactionSynchronization

public abstract class TransactionSynchronizationAdapter
extends Object
implements TransactionSynchronization, Ordered

Adapter for the TransactionSynchronization interface. Contains empty implementations of all interface methods, for easy overriding of single methods.

Also implements the Ordered interface to allow for influencing the execution order of synchronizations. Default is Integer.MAX_VALUE, indicating late execution; return a lower value for earlier execution.

Since:
22.01.2004
Author:
Juergen Hoeller

Field Summary
 
Fields inherited from interface org.springframework.transaction.support.TransactionSynchronization
STATUS_COMMITTED, STATUS_ROLLED_BACK, STATUS_UNKNOWN
 
Constructor Summary
TransactionSynchronizationAdapter()
           
 
Method Summary
 void afterCompletion(int status)
          Invoked after transaction commit/rollback.
 void beforeCommit(boolean readOnly)
          Invoked before transaction commit (before "beforeCompletion").
 void beforeCompletion()
          Invoked before transaction commit/rollback.
 int getOrder()
          Return the order value of this object, higher value meaning greater in terms of sorting.
 void resume()
          Resume this synchronization.
 void suspend()
          Suspend this synchronization.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransactionSynchronizationAdapter

public TransactionSynchronizationAdapter()
Method Detail

getOrder

public int getOrder()
Description copied from interface: Ordered
Return the order value of this object, higher value meaning greater in terms of sorting. Normally starting with 0 or 1, Integer.MAX_VALUE indicating greatest. Same order values will result in arbitrary positions for the affected objects.

Higher value can be interpreted as lower priority, consequently the first object has highest priority (somewhat analogous to Servlet "load-on-startup" values).

Specified by:
getOrder in interface Ordered
Returns:
the order value

suspend

public void suspend()
Description copied from interface: TransactionSynchronization
Suspend this synchronization. Supposed to unbind resources from TransactionSynchronizationManager if managing any.

Specified by:
suspend in interface TransactionSynchronization
See Also:
TransactionSynchronizationManager.unbindResource(java.lang.Object)

resume

public void resume()
Description copied from interface: TransactionSynchronization
Resume this synchronization. Supposed to rebind resources to TransactionSynchronizationManager if managing any.

Specified by:
resume in interface TransactionSynchronization
See Also:
TransactionSynchronizationManager.bindResource(java.lang.Object, java.lang.Object)

beforeCommit

public void beforeCommit(boolean readOnly)
Description copied from interface: TransactionSynchronization
Invoked before transaction commit (before "beforeCompletion"). Can e.g. flush transactional O/R Mapping sessions to the database.

This callback does not mean that the transaction will actually be committed. A rollback decision can still occur after this method has been called. This callback is rather meant to perform work that's only relevant if a commit still has a chance to happen, such as flushing SQL statements to the database.

Note that exceptions will get propagated to the commit caller and cause a rollback of the transaction.

Specified by:
beforeCommit in interface TransactionSynchronization
Parameters:
readOnly - whether the transaction is defined as read-only transaction
See Also:
TransactionSynchronization.beforeCompletion()

beforeCompletion

public void beforeCompletion()
Description copied from interface: TransactionSynchronization
Invoked before transaction commit/rollback. Can perform resource cleanup before transaction completion.

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.

Specified by:
beforeCompletion in interface TransactionSynchronization
See Also:
TransactionSynchronization.beforeCommit(boolean), TransactionSynchronization.afterCompletion(int)

afterCompletion

public void afterCompletion(int status)
Description copied from interface: TransactionSynchronization
Invoked after transaction commit/rollback. Can perform resource cleanup after transaction completion.

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.

Specified by:
afterCompletion in interface TransactionSynchronization
Parameters:
status - completion status according to the STATUS_* constants
See Also:
TransactionSynchronization.STATUS_COMMITTED, TransactionSynchronization.STATUS_ROLLED_BACK, TransactionSynchronization.STATUS_UNKNOWN, TransactionSynchronization.beforeCompletion()


Copyright (c) 2002-2007 The Spring Framework Project.