Class ReactiveRequestHandlerAdvice

java.lang.Object
org.springframework.integration.handler.advice.ReactiveRequestHandlerAdvice
All Implemented Interfaces:
org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor

public class ReactiveRequestHandlerAdvice extends Object implements org.aopalliance.intercept.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
  • Constructor Details

    • ReactiveRequestHandlerAdvice

      public ReactiveRequestHandlerAdvice(BiFunction<org.springframework.messaging.Message<?>,reactor.core.publisher.Mono<?>,org.reactivestreams.Publisher<?>> replyCustomizer)
      Instantiate advice based on a provided BiFunction customizer.
      Parameters:
      replyCustomizer - the BiFunction to customize produced Mono.
  • Method Details

    • invoke

      public final Object invoke(org.aopalliance.intercept.MethodInvocation invocation) throws Throwable
      Specified by:
      invoke in interface org.aopalliance.intercept.MethodInterceptor
      Throws:
      Throwable