0

你好,堆栈溢出。

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

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

我的问题是这会给用户带来非常糟糕的体验——尤其是如果他们正在寻找的产品不在数据库中。他们可能要等很长时间才能收到任何回复。

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

我试图尝试异步流,但从来没有让它们在数据准备好时发回数据。

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

4

1 回答 1

0

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

于 2013-07-16T13:47:44.180 回答