集成图的示例如下
我们有两个要求,一个是我们需要向两个http出站网关发送两个单独的请求,这两个http出站网关提供两种不同类型的响应(一个具有基础数据,一个具有价格数据)。我们如何将这两个结果汇总进行处理。是否需要使用特殊类型的聚合器,模式等
另一个要求是,因为我们有一个调用上述两个http网关的http入站网关,处理这两个请求并产生一个json输出。在对http入站网关的请求中,可能存在一个名为" dataValue"的传递的GET参数。其中包含值" 17"。在处理完两个http出站网关响应后,请求完成后," dataValue"作为GET参数传递的参数和值必须附加到响应。存储和识别" dataValue"的最佳方法是什么?每个特定请求的参数并将其附加到响应。我们是否可以通过另一个通道将其传递给最终响应的聚合器,或者是否有办法将其存储在会话存储中以用于每个请求和此类技术。
此致 弥兰陀
答案 0 :(得分:0)
很抱歉迟到的回复(不知道我是怎么错过你的问题的),无论如何我希望答案会有所帮助。
关于dataValue
GET请求参数:
您可以将其填充到邮件标题中:
<int-http:inbound-gateway path="/myPath?dataValue={dataValue}"
request-channel="processChannel">
<int-http:header name="dataValue" expression="#requestParams.dataValue"/>
</int-http:inbound-gateway>
重新。几个<int-http:outbound-gateway>
:
您可以将<publish-subscribe-channel>
与apply-sequence="true"
一起使用 - 最后<aggregator>
将group
正确回复单reply
。
为了获得更好的效果,您可以向executor
添加<publish-subscribe-channel>
,并且您的<int-http:outbound-gateway>
将会并行调用。