com.interface21.transaction.support
Class TransactionCallbackWithoutResult

java.lang.Object
  |
  +--com.interface21.transaction.support.TransactionCallbackWithoutResult
All Implemented Interfaces:
TransactionCallback

public abstract class TransactionCallbackWithoutResult
extends java.lang.Object
implements TransactionCallback

Simple convenience class for TransactionCallback implementation. Allows for implementing a doInTransaction version without result, i.e. without the need for a return statement.

Since:
28.03.2003
Author:
Juergen Hoeller

Constructor Summary
TransactionCallbackWithoutResult()
           
 
Method Summary
 java.lang.Object doInTransaction(TransactionStatus status)
          Gets called by TransactionTemplate.execute within a transactional context.
protected abstract  void doInTransactionWithoutResult(TransactionStatus status)
          Gets called by TransactionTemplate.execute within a transactional context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransactionCallbackWithoutResult

public TransactionCallbackWithoutResult()
Method Detail

doInTransaction

public final java.lang.Object doInTransaction(TransactionStatus status)
                                       throws java.lang.RuntimeException
Description copied from interface: TransactionCallback
Gets called by TransactionTemplate.execute within a transactional context. Does not need to care about transactions itself, although it can retrieve and influence the status of the current transaction via the given status object, e.g. setting rollback-only.

Allows for returning a result object created within the transaction, i.e. a business object or a collection of business objects. A thrown RuntimeException is treated as application exception that enforces a rollback. An exception gets propagated to the caller of the template.

Note when using JTA: JTA transactions only work with transactional JNDI resources, so implementations need to use such resources if they want transaction support.

Specified by:
doInTransaction in interface TransactionCallback
Following copied from interface: com.interface21.transaction.support.TransactionCallback
Parameters:
status - associated transaction status
Returns:
a result object, or null
Throws:
java.lang.RuntimeException - if the transaction needs to be rolled back, propagating the application exception to the caller
See Also:
TransactionTemplate.execute(com.interface21.transaction.support.TransactionCallback)

doInTransactionWithoutResult

protected abstract void doInTransactionWithoutResult(TransactionStatus status)
                                              throws java.lang.RuntimeException
Gets called by TransactionTemplate.execute within a transactional context. Does not need to care about transactions itself, although it can retrieve and influence the status of the current transaction via the given status object, e.g. setting rollback-only. Note when using JTA: JTA transactions only work with transactional JNDI resources, so implementations need to use such resources if they want transaction support.
Parameters:
status - the associated transaction status
Throws:
java.lang.RuntimeException - if the transaction needs to be rolled back


Rod Johnson and Spring contributors 2001-2003.