Class TransactionContextManager
java.lang.Object
org.springframework.transaction.reactive.TransactionContextManager
Delegate to register and obtain transactional contexts.
 
Typically used by components that intercept or orchestrate transactional flows such as AOP interceptors or transactional operators.
- Since:
- 5.2
- Author:
- Mark Paluch
- See Also:
- 
Method SummaryModifier and TypeMethodDescriptionstatic Function<reactor.util.context.Context,reactor.util.context.Context> Create aTransactionContextand register it in the subscriberContext.static reactor.core.publisher.Mono<TransactionContext>Obtain the currentTransactionContextfrom the subscriber context or the transactional context holder.static Function<reactor.util.context.Context,reactor.util.context.Context> Return aFunctionto create or associate a newTransactionContext.static Function<reactor.util.context.Context,reactor.util.context.Context> Return aFunctionto create or associate a newTransactionContextHolder.
- 
Method Details- 
currentContextpublic static reactor.core.publisher.Mono<TransactionContext> currentContext() throws NoTransactionExceptionObtain the currentTransactionContextfrom the subscriber context or the transactional context holder. Context retrieval fails with NoTransactionException if no context or context holder is registered.- Returns:
- the current TransactionContext
- Throws:
- NoTransactionException- if no TransactionContext was found in the subscriber context or no context found in a holder
 
- 
createTransactionContextpublic static Function<reactor.util.context.Context,reactor.util.context.Context> createTransactionContext()Create aTransactionContextand register it in the subscriberContext.- Returns:
- functional context registration.
- Throws:
- IllegalStateException- if a transaction context is already associated.
- See Also:
- 
- Mono.contextWrite(Function)
- Flux.contextWrite(Function)
 
 
- 
getOrCreateContextpublic static Function<reactor.util.context.Context,reactor.util.context.Context> getOrCreateContext()Return aFunctionto create or associate a newTransactionContext. Interaction with transactional resources throughTransactionSynchronizationManagerrequires a TransactionContext to be registered in the subscriber context.- Returns:
- functional context registration.
 
- 
getOrCreateContextHolderpublic static Function<reactor.util.context.Context,reactor.util.context.Context> getOrCreateContextHolder()Return aFunctionto create or associate a newTransactionContextHolder. Creation and release of transactions within a reactive flow requires a mutable holder that follows a top to down execution scheme. Reactor's subscriber context follows a down to top approach regarding mutation visibility.- Returns:
- functional context registration.
 
 
-