public abstract class

TransactionCallbackWithoutResult

extends Object
implements TransactionCallback<T>
java.lang.Object
   ↳ org.springframework.transaction.support.TransactionCallbackWithoutResult

Class Overview

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

Summary

Public Constructors
TransactionCallbackWithoutResult()
Public Methods
final Object doInTransaction(TransactionStatus status)
Gets called by execute(TransactionCallback) within a transactional context.
Protected Methods
abstract void doInTransactionWithoutResult(TransactionStatus status)
Gets called by TransactionTemplate.execute within a transactional context.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.transaction.support.TransactionCallback

Public Constructors

public TransactionCallbackWithoutResult ()

Public Methods

public final Object doInTransaction (TransactionStatus status)

Gets called by execute(TransactionCallback) 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 domain object or a collection of domain objects. A RuntimeException thrown by the callback is treated as application exception that enforces a rollback. An exception gets propagated to the caller of the template.

Parameters
status associated transaction status
Returns
  • a result object, or null

Protected Methods

protected abstract void doInTransactionWithoutResult (TransactionStatus status)

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.

A RuntimeException thrown by the callback 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.

Parameters
status associated transaction status