Package org.springframework.transaction.reactive

# Interface TransactionCallback<T>

Type Parameters:
  `T` - the result type

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface TransactionCallback<T>
Callback interface for reactive transactional code. Used with `TransactionalOperator`'s `execute` method, often as anonymous class within a method implementation.

Typically used to assemble various calls to transaction-unaware data access services into a higher-level service method with transaction demarcation. As an alternative, consider the use of declarative transaction demarcation (for example, through Spring's `Transactional` annotation).

Since:
  5.2
Author:
  Mark Paluch, Juergen Hoeller
See Also:
  - `TransactionalOperator`

## Method Summary

Modifier and Type
Method
Description
`Publisher<T>`
`doInTransaction(ReactiveTransaction status)`
Gets called by `TransactionalOperator` within a transactional context.

## Method Details

### doInTransaction

Publisher<T> doInTransaction(ReactiveTransaction status)
Gets called by `TransactionalOperator` 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, for example, setting rollback-only.

Parameters:
  `status` - associated transaction status
Returns:
  a result publisher
See Also:
  - `TransactionalOperator.transactional(reactor.core.publisher.Flux<T>)`