Spring integration 处理具有相同消息的连续HTTP调用
我想一个接一个地进行两个连续调用,但对两个调用使用相同的请求消息。但如我的示例代码所示,默认情况下,来自第一个post调用的响应成为第二个调用的请求。在spring集成中,这种模式最优雅的解决方案是什么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
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()不会以顺序方式进行调用!如果没有执行器(默认情况下),它会执行。如果您还有疑问,请查看它的源代码