Package io.micronaut.transaction.support
Class AbstractReactorTransactionOperations<C>
java.lang.Object
io.micronaut.transaction.support.AbstractReactorTransactionOperations<C>
- Type Parameters:
- C- The connection type
- All Implemented Interfaces:
- ReactiveTransactionOperations<C>,- ReactorReactiveTransactionOperations<C>
@Internal
public abstract class AbstractReactorTransactionOperations<C>
extends Object
implements ReactorReactiveTransactionOperations<C>
Abstract Reactor transaction operations.
- Since:
- 4.0.0
- Author:
- Denis Stepanov
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected static final classRepresents the current reactive transaction status.Nested classes/interfaces inherited from interface io.micronaut.transaction.reactive.ReactiveTransactionOperationsReactiveTransactionOperations.TransactionalCallback<C,T> 
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedAbstractReactorTransactionOperations(ReactorConnectionOperations<C> connectionOperations) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected abstract @NonNull org.reactivestreams.Publisher<Void>beginTransaction(@NonNull ConnectionStatus<C> connectionStatus, @NonNull TransactionDefinition transactionDefinition) protected abstract @NonNull org.reactivestreams.Publisher<Void>commitTransaction(@NonNull ConnectionStatus<C> connectionStatus, @NonNull TransactionDefinition transactionDefinition) protected @NonNull org.reactivestreams.Publisher<Void>doCancel(@NonNull AbstractReactorTransactionOperations.DefaultReactiveTransactionStatus<C> status) Cancels the TX operation.protected <R> @NonNull reactor.core.publisher.Flux<R>executeCallbackFlux(@NonNull ReactiveTransactionStatus<C> status, @NonNull ReactiveTransactionOperations.TransactionalCallback<C, R> handler) Execute the callback.protected <R> @NonNull reactor.core.publisher.Mono<R>executeCallbackMono(@NonNull ReactiveTransactionStatus<C> status, @NonNull Function<ReactiveTransactionStatus<C>, reactor.core.publisher.Mono<R>> handler) Execute the callback.protected <R> @NonNull reactor.core.publisher.Flux<R>executeTransactionFlux(@NonNull AbstractReactorTransactionOperations.DefaultReactiveTransactionStatus<C> txStatus, @NonNull ReactiveTransactionOperations.TransactionalCallback<C, R> handler) Execute the transaction.protected <R> @NonNull reactor.core.publisher.Mono<R>executeTransactionMono(@NonNull AbstractReactorTransactionOperations.DefaultReactiveTransactionStatus<C> txStatus, @NonNull Function<ReactiveTransactionStatus<C>, reactor.core.publisher.Mono<R>> handler) Execute the transaction.final Optional<ReactiveTransactionStatus<C>>findTransactionStatus(reactor.util.context.ContextView contextView) Retrieve the transaction status associated to the current transaction manager from the Reactor context.final TransactionDefinitiongetTransactionDefinition(reactor.util.context.ContextView contextView) Retrieve the transaction definition associated to the current transaction from the Reactor context.final ReactiveTransactionStatus<C>getTransactionStatus(reactor.util.context.ContextView contextView) Retrieve the transaction status associated to the current transaction manager from the Reactor context.protected abstract @NonNull org.reactivestreams.Publisher<Void>rollbackTransaction(@NonNull ConnectionStatus<C> connectionStatus, @NonNull TransactionDefinition transactionDefinition) final <T> @NonNull reactor.core.publisher.Flux<T>withTransaction(@NonNull TransactionDefinition definition, @NonNull ReactiveTransactionOperations.TransactionalCallback<C, T> handler) Execute the given handler with a new transaction.protected <T> reactor.core.publisher.Flux<T>withTransactionFlux(ReactiveTransactionStatus<C> transactionStatus, TransactionDefinition definition, ReactiveTransactionOperations.TransactionalCallback<C, T> handler) Execute the transaction with provided transaction status.<T> reactor.core.publisher.Mono<T>withTransactionMono(TransactionDefinition definition, Function<ReactiveTransactionStatus<C>, reactor.core.publisher.Mono<T>> handler) Execute the given handler with a new transaction.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.transaction.reactive.ReactorReactiveTransactionOperationswithTransaction, withTransactionFlux, withTransactionFlux, withTransactionMono
- 
Constructor Details- 
AbstractReactorTransactionOperationsprotected AbstractReactorTransactionOperations(@Parameter ReactorConnectionOperations<C> connectionOperations) 
 
- 
- 
Method Details- 
beginTransaction@NonNull protected abstract @NonNull org.reactivestreams.Publisher<Void> beginTransaction(@NonNull @NonNull ConnectionStatus<C> connectionStatus, @NonNull @NonNull TransactionDefinition transactionDefinition) 
- 
commitTransaction@NonNull protected abstract @NonNull org.reactivestreams.Publisher<Void> commitTransaction(@NonNull @NonNull ConnectionStatus<C> connectionStatus, @NonNull @NonNull TransactionDefinition transactionDefinition) 
- 
rollbackTransaction@NonNull protected abstract @NonNull org.reactivestreams.Publisher<Void> rollbackTransaction(@NonNull @NonNull ConnectionStatus<C> connectionStatus, @NonNull @NonNull TransactionDefinition transactionDefinition) 
- 
findTransactionStatuspublic final Optional<ReactiveTransactionStatus<C>> findTransactionStatus(reactor.util.context.ContextView contextView) Description copied from interface:ReactorReactiveTransactionOperationsRetrieve the transaction status associated to the current transaction manager from the Reactor context.- Specified by:
- findTransactionStatusin interface- ReactorReactiveTransactionOperations<C>
- Parameters:
- contextView- The context view
- Returns:
- the key
 
- 
getTransactionStatuspublic final ReactiveTransactionStatus<C> getTransactionStatus(reactor.util.context.ContextView contextView) Description copied from interface:ReactorReactiveTransactionOperationsRetrieve the transaction status associated to the current transaction manager from the Reactor context.- Specified by:
- getTransactionStatusin interface- ReactorReactiveTransactionOperations<C>
- Parameters:
- contextView- The context view
- Returns:
- the key
 
- 
getTransactionDefinitionpublic final TransactionDefinition getTransactionDefinition(reactor.util.context.ContextView contextView) Description copied from interface:ReactorReactiveTransactionOperationsRetrieve the transaction definition associated to the current transaction from the Reactor context.- Specified by:
- getTransactionDefinitionin interface- ReactorReactiveTransactionOperations<C>
- Parameters:
- contextView- The context view
- Returns:
- the key
 
- 
withTransaction@NonNull public final <T> @NonNull reactor.core.publisher.Flux<T> withTransaction(@NonNull @NonNull TransactionDefinition definition, @NonNull @NonNull ReactiveTransactionOperations.TransactionalCallback<C, T> handler) Description copied from interface:ReactiveTransactionOperationsExecute the given handler with a new transaction.- Specified by:
- withTransactionin interface- ReactiveTransactionOperations<C>
- Specified by:
- withTransactionin interface- ReactorReactiveTransactionOperations<C>
- Type Parameters:
- T- The emitted type
- Parameters:
- definition- The definition
- handler- The handler
- Returns:
- A publisher that emits the result type
 
- 
withTransactionFluxprotected <T> reactor.core.publisher.Flux<T> withTransactionFlux(ReactiveTransactionStatus<C> transactionStatus, TransactionDefinition definition, ReactiveTransactionOperations.TransactionalCallback<C, T> handler) Execute the transaction with provided transaction status.- Type Parameters:
- T- The transaction type
- Parameters:
- transactionStatus- The transaction status
- definition- The definition
- handler- The handler
- Returns:
- The published result
 
- 
withTransactionMonopublic <T> reactor.core.publisher.Mono<T> withTransactionMono(TransactionDefinition definition, Function<ReactiveTransactionStatus<C>, reactor.core.publisher.Mono<T>> handler) Description copied from interface:ReactorReactiveTransactionOperationsExecute the given handler with a new transaction.- Specified by:
- withTransactionMonoin interface- ReactorReactiveTransactionOperations<C>
- Type Parameters:
- T- The emitted type
- Parameters:
- definition- The definition
- handler- The handler
- Returns:
- A publisher that emits the result type
 
- 
executeTransactionFlux@NonNull protected <R> @NonNull reactor.core.publisher.Flux<R> executeTransactionFlux(@NonNull @NonNull AbstractReactorTransactionOperations.DefaultReactiveTransactionStatus<C> txStatus, @NonNull @NonNull ReactiveTransactionOperations.TransactionalCallback<C, R> handler) Execute the transaction.- Type Parameters:
- R- The callback result type
- Parameters:
- txStatus- The transaction status
- handler- The callback
- Returns:
- The callback result
 
- 
executeTransactionMono@NonNull protected <R> @NonNull reactor.core.publisher.Mono<R> executeTransactionMono(@NonNull @NonNull AbstractReactorTransactionOperations.DefaultReactiveTransactionStatus<C> txStatus, @NonNull @NonNull Function<ReactiveTransactionStatus<C>, reactor.core.publisher.Mono<R>> handler) Execute the transaction.- Type Parameters:
- R- The callback result type
- Parameters:
- txStatus- The transaction status
- handler- The callback
- Returns:
- The callback result
 
- 
executeCallbackFlux@NonNull protected <R> @NonNull reactor.core.publisher.Flux<R> executeCallbackFlux(@NonNull @NonNull ReactiveTransactionStatus<C> status, @NonNull @NonNull ReactiveTransactionOperations.TransactionalCallback<C, R> handler) Execute the callback.- Type Parameters:
- R- The callback result type
- Parameters:
- status- The transaction status
- handler- The callback
- Returns:
- The callback result
 
- 
executeCallbackMono@NonNull protected <R> @NonNull reactor.core.publisher.Mono<R> executeCallbackMono(@NonNull @NonNull ReactiveTransactionStatus<C> status, @NonNull @NonNull Function<ReactiveTransactionStatus<C>, reactor.core.publisher.Mono<R>> handler) Execute the callback.- Type Parameters:
- R- The callback result type
- Parameters:
- status- The transaction status
- handler- The callback
- Returns:
- The callback result
 
- 
doCancel@NonNull protected @NonNull org.reactivestreams.Publisher<Void> doCancel(@NonNull @NonNull AbstractReactorTransactionOperations.DefaultReactiveTransactionStatus<C> status) Cancels the TX operation.- Parameters:
- status- The TX status
- Returns:
- the canceling publisher
 
 
-