【发布时间】:2017-01-18 11:12:40
【问题描述】:
我有一个带有 Web 服务接口的应用程序,它在 JBoss FUSE 上使用骆驼开发,我正在将接收到的消息保存到数据库中,没有任何问题。但是现在我需要对其进行增强以执行一些耗时的过程,例如 Web 服务调用。
我的想法是将接收消息添加到 MessageQueue 中,然后发送 Web 服务调用响应。然后通过读取消息队列来完成耗时的过程。但我的问题是是否有可能在骆驼中运行后台路由来执行这样的实现。
我尝试使用多播来实现它,但在那里它一直在等待所有路由完成。
下图显示了我尝试归档的内容。
我的问题是是否可以在完成路线 2 之前从路线 1 发送响应?如果可能的话,我如何使用 camel 归档它?
我对 Camel 开发很陌生,我想知道是否可以完成上述场景。请善意地提供有关此的反馈?
【问题讨论】:
-
如果为了清晰起见重新措辞或包含您想到的流程图表,这将很有帮助。听起来您正在尝试通过调用第二个 Web 服务并将原始和第二个 Web 服务响应组合在一起,然后再保存到数据库来进行丰富。请澄清——是在第二次 Web 服务调用之前还是之后保存到数据库? db 调用是否需要来自原始调用和第二次调用的数据?图表会很有帮助。
-
我的想法是将初始Web服务请求的请求消息保存到数据库中,并将该消息添加到ActiveMQ,然后发送Web服务的响应。然后在后台运行路由来读取 ActiveMQ 队列并做一些耗时的过程,例如 web 服务和更新数据库。我也将图表添加到问题中。感谢您的回复
-
查看Wire Tap EIP
标签: apache-camel activemq jbossfuse