Class ReactiveRequestHandlerAdvice
java.lang.Object
org.springframework.integration.handler.advice.ReactiveRequestHandlerAdvice
- All Implemented Interfaces:
Advice,Interceptor,MethodInterceptor
public class ReactiveRequestHandlerAdvice extends Object implements MethodInterceptor
A
MethodInterceptor for message handlers producing a Mono as a payload for reply.
The returned Mono is customized via Mono.transform(java.util.function.Function) operator
calling provided replyCustomizer BiFunction with request message as a context.
A customization assumes to use supporting reactive operators like Mono.timeout(java.time.Duration),
Mono.retry(), Mono.tag(java.lang.String, java.lang.String) etc.
A Mono.transform(java.util.function.Function) also can be used
for further customization like reactive circuit breaker.- Since:
- 5.3
- Author:
- Artem Bilan
-
Constructor Summary
Constructors Constructor Description ReactiveRequestHandlerAdvice(BiFunction<Message<?>,reactor.core.publisher.Mono<?>,org.reactivestreams.Publisher<?>> replyCustomizer)Instantiate advice based on a providedBiFunctioncustomizer. -
Method Summary
Modifier and Type Method Description Objectinvoke(MethodInvocation invocation)
-
Constructor Details
-
ReactiveRequestHandlerAdvice
public ReactiveRequestHandlerAdvice(BiFunction<Message<?>,reactor.core.publisher.Mono<?>,org.reactivestreams.Publisher<?>> replyCustomizer)Instantiate advice based on a providedBiFunctioncustomizer.- Parameters:
replyCustomizer- theBiFunctionto customize producedMono.
-
-
Method Details
-
invoke
- Specified by:
invokein interfaceMethodInterceptor- Throws:
Throwable
-