【问题标题】:Mule - Returning data from multiple flows as soon as it's readyMule - 准备好后立即从多个流中返回数据
【发布时间】:2013-07-16 21:47:44
【问题描述】:

你好,堆栈溢出。

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

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

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

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

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

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

【问题讨论】:

    标签: ajax mule esb


    【解决方案1】:

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

    【讨论】:

    • 感谢您的帮助,我之前在文档中进行了研究,但似乎只是略过该页面。我已经按照我的设想让它工作了——结果一可用就会发送给客户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 2018-03-03
    • 1970-01-01
    • 2022-11-05
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多