此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Integration 6.5.1spring-doc.cadn.net.cn

反应性建议

从 5.3 版开始,一个ReactiveRequestHandlerAdvice可用于请求消息处理程序,生成Mono答复。 一个BiFunction<Message<?>, Mono<?>, Publisher<?>>必须为此通知提供,并且它是从Mono.transform()操作员对被截获的回复产生的回复handleRequestMessage()方法实现。 通常,这样的Mono当我们想通过以下方式控制网络波动时,定制是必要的timeout(),retry()以及类似的支持运营商。 例如,当我们可以通过 WebFlux 客户端发出 HTTP 请求时,我们可以使用以下配置来等待响应的时间不超过 5 秒:spring-doc.cadn.net.cn

.handle(WebFlux.outboundGateway("https://somehost/"),
                       e -> e.customizeMonoReply((message, mono) -> mono.timeout(Duration.ofSeconds(5))));

messageargument 是消息处理程序的请求消息,可用于确定请求范围属性。 这mono参数是此消息处理程序的handleRequestMessage()方法实现。 嵌套的Mono.transform()也可以从此函数调用,以应用,例如,无功断路器spring-doc.cadn.net.cn