此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.4.0! |
Reactive Advice
从版本 5.3 开始,a 可用于生成回复的请求消息处理程序。
必须为此建议提供 A,并在 intercepted 方法实现生成的回复上从运算符调用它。
通常,当我们想要通过 和类似的支持运算符控制网络波动时,这种自定义是必要的。
例如,当我们可以通过 WebFlux 客户端发出 HTTP 请求时,我们可以使用以下配置来等待响应的时间不超过 5 秒:ReactiveRequestHandlerAdvice
Mono
BiFunction<Message<?>, Mono<?>, Publisher<?>>
Mono.transform()
handleRequestMessage()
Mono
timeout()
retry()
.handle(WebFlux.outboundGateway("https://somehost/"),
e -> e.customizeMonoReply((message, mono) -> mono.timeout(Duration.ofSeconds(5))));
该参数是消息处理程序的请求消息,可用于确定请求范围属性。
该参数是此消息处理程序的方法实现的结果。
也可以从此函数中调用 nested 来应用,例如,Reactive Circuit Breaker。message
mono
handleRequestMessage()
Mono.transform()