Mule - 一旦准备好就从多个流中返回数据

时间:2013-07-16 13:22:31

标签: ajax mule esb

你好Stack Overflow。

我的方案是我有一个网页,用户可以在其中输入数据(搜索条件,例如销售产品的名称,类别等)。提交时,此数据将发送到Mule ESB,然后使用它来查询两个(或更多)数据库。其中一个数据库速度相当快,可以快速返回数据,但另一个数据库速度很慢,可能需要一分钟或更长时间才能返回信息(如果没有超时)。

目前,Mule正在等待收集所有流量的结果,然后再将任何信息发送回进行查询的网络浏览器。

我的问题是,这会给用户带来非常糟糕的体验 - 特别是如果他们正在寻找的产品不在数据库中。在收到任何回复之前,他们可能会等待很长时间。

我目前的流程是:http://i.stack.imgur.com/fyyI0.png

我试图尝试使用异步流,但从未让它们在准备就绪时发回数据。

一旦结果可用,Mule中是否有任何方法可以从多个流中返回结果?我希望显示每个查询/流的结果,而不是在将数据发送回用户浏览器之前等待所有流终止。

1 个答案:

答案 0 :(得分:0)

我认为对于您的用例的最佳选择,如果我理解正确,将使用异步处理并通过Ajax传输返回结果:http://www.mulesoft.org/documentation/display/current/AJAX+Transport+Reference
这样,您可以立即返回到客户端,并在Ajax通道中获取结果时发布结果。