【发布时间】:2014-07-11 04:23:18
【问题描述】:
目前我正在使用 mule。我有 3 个流:RequestFlow、ServiceResponse 和 SendResponse。
在第一个流程中,我处理了请求(转换请求参数,将其写入 wmq 等)。仅供参考,此流程上的 wmq 只能用于写入。
在第二个流程中,我通过另一个 wmq 从服务器读取响应,将其转换为 json,然后发送到 VM。仅供参考,此流程上的 wmq 只能用于读取。
在第三个流程中,我尝试将响应发送回第一个流程并生成一个文件。
为了将流 3 的响应发送回流 1,我尝试使用 request-reply
但是,不幸的是,当我尝试发送请求时,我发现:
- 第一个流程到达request-reply组件后,直接进入第三个流程。
- 然后,mule 处理完第三个流程上的所有操作后,会将响应发送回请求-回复组件。
- 做一些日志记录(第一个流上的记录器组件)
- 然后,进入流程,处理所有操作
- 再次处理第三个流程
这就是为什么在所有过程完成后,我的应用程序将:
- 生成 2 个文件(1 个包含请求 xml,1 个包含 json 响应)
- 将请求xml返回到http
但是,这不是我想要的。我需要的流程是:
- Mule 处理第一个流上的操作,直到请求-回复组件
- 转到第二个流程并处理所有组件
- 完成第二个流程后,将进入第三个流程。继续所有组件
- 在第一个流程中将回复发送回请求-回复组件
- 做一些日志记录(第一个流程中的记录器组件)
- 然后完成
此应用程序的结果应该是:
- 1 文件包含 JSON 响应
- http 上的 JSON 响应
那么,该怎么做呢?提前致谢。
【问题讨论】: