## org.springframework.transaction.support
Class TransactionCallbackWithoutResult

    java.lang.Object
      org.springframework.transaction.support.TransactionCallbackWithoutResult

All Implemented Interfaces:
  TransactionCallback<Object>

    public abstract class TransactionCallbackWithoutResult

extends Object
implements TransactionCallback<Object>

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
See Also:
  `TransactionTemplate`

Constructor Summary
`TransactionCallbackWithoutResult()`

Method Summary
`Object` `doInTransaction(TransactionStatus status)` Gets called by `TransactionTemplate.execute(org.springframework.transaction.support.TransactionCallback<T>)` 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 Object doInTransaction(TransactionStatus status)

  Description copied from interface: `TransactionCallback`
  Gets called by `TransactionTemplate.execute(org.springframework.transaction.support.TransactionCallback<T>)` 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. Any such exception will be propagated to the caller of the template, unless there is a problem rolling back, in which case a TransactionException will be thrown.

  Specified by:
    `doInTransaction` in interface `TransactionCallback<Object>`
  Parameters:
    `status` - associated transaction status
  Returns:
    a result object, or `null`
  See Also:
    `TransactionTemplate.execute(org.springframework.transaction.support.TransactionCallback<T>)`, `CallbackPreferringPlatformTransactionManager.execute(org.springframework.transaction.TransactionDefinition, org.springframework.transaction.support.TransactionCallback<T>)`

### doInTransactionWithoutResult

    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
  See Also:
    `TransactionTemplate.execute(org.springframework.transaction.support.TransactionCallback<T>)`