Spring integration 处理具有相同消息的连续HTTP调用

Spring integration 处理具有相同消息的连续HTTP调用,spring-integration,spring-integration-dsl,Spring Integration,Spring Integration Dsl,我想一个接一个地进行两个连续调用,但对两个调用使用相同的请求消息。但如我的示例代码所示,默认情况下,来自第一个post调用的响应成为第二个调用的请求。在spring集成中,这种模式最优雅的解决方案是什么 public IntegrationFlow test() { return IntegrationFlows .from("testChannel") .handle(httpConfigurations.postCall1()) .handl

我想一个接一个地进行两个连续调用,但对两个调用使用相同的请求消息。但如我的示例代码所示,默认情况下,来自第一个post调用的响应成为第二个调用的请求。在spring集成中,这种模式最优雅的解决方案是什么

 public IntegrationFlow test() {
   return IntegrationFlows
       .from("testChannel")
       .handle(httpConfigurations.postCall1())
       .handle(httpConfigurations.postCall2())
       .get();
 }

在第一个
.handle
之前,添加一个带有表达式的标头enricher,以将
有效负载
复制到标头


在第二个
.handle
之前,使用
.transform()
将标头复制回有效负载。

在第一个
之前。handle
添加带有表达式的标头充实器,以将
有效负载
复制到标头


在第二个
.handle
之前,使用
.transform()
将标头复制回有效负载。

您还可以使用
publishSubscribeChannel()
将这两个
handle()
作为
subscribe()
子流。@Artem Bilan,我认为publishSubscribeChannel()不会按顺序进行调用!如果没有
执行器(默认情况下),它会执行。请查看它的源代码,如果您仍有疑问,您也可以将
publishSubscribeChannel()
与这两个
handle()
作为
subscribe()
子流一起使用。@Artem Bilan,我认为publishSubscribeChannel()不会以顺序方式进行调用!如果没有
执行器(默认情况下),它会执行。如果您还有疑问,请查看它的源代码