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 (e.g. through Spring's `Transactional` annotation).

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

- - ### Method Summary

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

- - ### Method Detail

    - #### 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, e.g. setting rollback-only.
      Parameters:
        `status` - associated transaction status
      Returns:
        a result publisher
      See Also:
        `TransactionalOperator.transactional(reactor.core.publisher.Flux<T>)`