Class TransactionalEventPublisher
java.lang.Object
org.springframework.transaction.reactive.TransactionalEventPublisher
A delegate for publishing transactional events in a reactive setup.
Includes the current Reactor-managed 
TransactionContext as
a source object for every ApplicationEvent to be published.
This delegate is just a convenience. The current TransactionContext
can be directly included as the event source as well, and then published
through an ApplicationEventPublisher such as the Spring
ApplicationContext:
TransactionContextManager.currentContext()
    .map(source -> new PayloadApplicationEvent<>(source, "myPayload"))
    .doOnSuccess(this.eventPublisher::publishEvent)
- Since:
 - 6.1
 - Author:
 - Juergen Hoeller
 - See Also:
 
- 
Constructor Summary
ConstructorsConstructorDescriptionTransactionalEventPublisher(ApplicationEventPublisher eventPublisher) Create a new delegate for publishing transactional events in a reactive setup. - 
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Void> publishEvent(Object payload) Publish an event created for the given payload.reactor.core.publisher.Mono<Void> publishEvent(Function<TransactionContext, ApplicationEvent> eventCreationFunction) Publish an event created through the given function which maps the transaction source object (theTransactionContext) to the event instance. 
- 
Constructor Details
- 
TransactionalEventPublisher
Create a new delegate for publishing transactional events in a reactive setup.- Parameters:
 eventPublisher- the actual event publisher to use, typically a SpringApplicationContext
 
 - 
 - 
Method Details
- 
publishEvent
public reactor.core.publisher.Mono<Void> publishEvent(Function<TransactionContext, ApplicationEvent> eventCreationFunction) Publish an event created through the given function which maps the transaction source object (theTransactionContext) to the event instance.- Parameters:
 eventCreationFunction- a function mapping the source object to the event instance, for example,source -> new PayloadApplicationEvent<>(source, "myPayload")- Returns:
 - the Reactor 
Monofor the transactional event publication 
 - 
publishEvent
 
 -