Interface ReactorReactiveTransactionOperations<C>

Type Parameters:
C - The transaction connection
All Superinterfaces:
ReactiveTransactionOperations<C>
All Known Subinterfaces:
R2dbcReactorTransactionOperations
All Known Implementing Classes:
AbstractReactorTransactionOperations

public interface ReactorReactiveTransactionOperations<C> extends ReactiveTransactionOperations<C>
Special version of ReactiveTransactionOperations that is exposing Reactor publishers.
Since:
3.5.0
Author:
Denis Stepanov
  • Method Details

    • findTransactionStatus

      Optional<ReactiveTransactionStatus<C>> findTransactionStatus(@NonNull @NonNull reactor.util.context.ContextView contextView)
      Retrieve the transaction status associated to the current transaction manager from the Reactor context.
      Parameters:
      contextView - The context view
      Returns:
      the key
    • getTransactionStatus

      @Nullable default @Nullable ReactiveTransactionStatus<C> getTransactionStatus(@NonNull @NonNull reactor.util.context.ContextView contextView)
      Retrieve the transaction status associated to the current transaction manager from the Reactor context.
      Parameters:
      contextView - The context view
      Returns:
      the key
    • getTransactionDefinition

      @Nullable @Nullable TransactionDefinition getTransactionDefinition(@NonNull @NonNull reactor.util.context.ContextView contextView)
      Retrieve the transaction definition associated to the current transaction from the Reactor context.
      Parameters:
      contextView - The context view
      Returns:
      the key
    • withTransactionFlux

      default <T> reactor.core.publisher.Flux<T> withTransactionFlux(@NonNull @NonNull TransactionDefinition definition, @NonNull @NonNull Function<ReactiveTransactionStatus<C>,reactor.core.publisher.Flux<T>> handler)
      Execute the given handler with a new transaction.
      Type Parameters:
      T - The emitted type
      Parameters:
      definition - The definition
      handler - The handler
      Returns:
      A publisher that emits the result type
    • withTransactionFlux

      default <T> reactor.core.publisher.Flux<T> withTransactionFlux(@NonNull @NonNull Function<ReactiveTransactionStatus<C>,reactor.core.publisher.Flux<T>> handler)
      Execute the given handler with a new transaction.
      Type Parameters:
      T - The emitted type
      Parameters:
      handler - The handler
      Returns:
      A publisher that emits the result type
    • withTransactionMono

      default <T> reactor.core.publisher.Mono<T> withTransactionMono(@NonNull @NonNull TransactionDefinition definition, @NonNull @NonNull Function<ReactiveTransactionStatus<C>,reactor.core.publisher.Mono<T>> handler)
      Execute the given handler with a new transaction.
      Type Parameters:
      T - The emitted type
      Parameters:
      definition - The definition
      handler - The handler
      Returns:
      A publisher that emits the result type
    • withTransactionMono

      default <T> reactor.core.publisher.Mono<T> withTransactionMono(@NonNull @NonNull Function<ReactiveTransactionStatus<C>,reactor.core.publisher.Mono<T>> handler)
      Execute the given handler with a new transaction.
      Type Parameters:
      T - The emitted type
      Parameters:
      handler - The handler
      Returns:
      A publisher that emits the result type
    • withTransaction

      @NonNull <T> @NonNull reactor.core.publisher.Flux<T> withTransaction(@NonNull @NonNull TransactionDefinition definition, @NonNull @NonNull ReactiveTransactionOperations.TransactionalCallback<C,T> handler)
      Description copied from interface: ReactiveTransactionOperations
      Execute the given handler with a new transaction.
      Specified by:
      withTransaction in interface ReactiveTransactionOperations<C>
      Type Parameters:
      T - The emitted type
      Parameters:
      definition - The definition
      handler - The handler
      Returns:
      A publisher that emits the result type
    • withTransaction

      @NonNull default <T> @NonNull reactor.core.publisher.Flux<T> withTransaction(@NonNull @NonNull ReactiveTransactionOperations.TransactionalCallback<C,T> handler)
      Description copied from interface: ReactiveTransactionOperations
      Execute the given handler with a new transaction.
      Specified by:
      withTransaction in interface ReactiveTransactionOperations<C>
      Type Parameters:
      T - The emitted type
      Parameters:
      handler - The handler
      Returns:
      A publisher that emits the result type