Interface ReactorReactiveTransactionOperations<C>

Type Parameters:
C - The transaction connection
All Superinterfaces:
ReactiveTransactionOperations<C>
All Known Subinterfaces:
HibernateReactorRepositoryOperations, MongoReactorRepositoryOperations
All Known Implementing Classes:
DefaultReactiveMongoRepositoryOperations

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

    • TRANSACTION_STATUS_KEY_PREFIX

      static final String TRANSACTION_STATUS_KEY_PREFIX
      The prefix of transaction status Reactor context key.
      See Also:
    • TRANSACTION_DEFINITION_KEY_PREFIX

      static final String TRANSACTION_DEFINITION_KEY_PREFIX
      The prefix of transaction definition Reactor context key.
      See Also:
  • Method Details

    • getTransactionStatus

      @Nullable ReactiveTransactionStatus<C> getTransactionStatus(@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 TransactionDefinition getTransactionDefinition(@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 TransactionDefinition definition, @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 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 TransactionDefinition definition, @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 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> reactor.core.publisher.Flux<T> withTransaction(@NonNull TransactionDefinition definition, @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> reactor.core.publisher.Flux<T> withTransaction(@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