【问题标题】:Connection timeout in http requester in mule骡子中http请求者的连接超时
【发布时间】:2015-08-15 19:18:58
【问题描述】:

我在 mulesoft 的 http 请求者中点击了多个 url

     For example:-abc.com
                  def.com
                  ghy.com
                  xyz.com

但在“def.com”中,我收到连接超时错误(没有响应代码出现),我知道是因为网站已关闭,但一旦我收到此错误,我的流程就会停止,并且不会继续前进到另一个网站,即“ ghy.com”等。

你能告诉我如何让流程继续处理,即使我的特定网站连接超时

我尝试过捕获异常策略,但我捕获了此异常但无法继续流程。

【问题讨论】:

  • 在不相关的说明中,您可以并行化请求吗?听起来你不需要输出一个来继续下一个。
  • 嘿,乔治,您能否详细说明无法抓住您的观点的解决方案。 :-)
  • 如果您有新问题,请使用 按钮提问。请不要编辑您现有的问题,完全改变意思。

标签: connection timeout mule mule-studio


【解决方案1】:

执行以下操作。

  1. 将“def.com”HTTP 请求组件放入私有流中。
  2. 在该私有流上添加“捕获异常策略”
  3. 添加从原始流到私有流的流引用。

catch异常应该处理私有流上的错误,当它返回原始流(调用流)时,它应该继续处理。

编辑

这就是我的意思。 test2Flow 是主要流程,然后您在某处获得了foreach 组件。它将调用私有流。

私有流执行 HTTP 请求调用,其中 URL 来自有效负载。它具有捕获异常策略来处理来自此 HTTP 请求的错误。

这里,foreach 循环在私有流内部发生错误时不应停止。

<http:request-config name="HTTP_Request_Configuration" host="#[payload.url]" port="#[payload.port]" doc:name="HTTP Request Configuration"/>
<flow name="test2Flow">
    <!--get list -->
    <foreach doc:name="For Each">
        <flow-ref name="payload" doc:name="Flow Reference"/>
    </foreach>
</flow>
<flow name="test2Flow1">
    <http:request config-ref="HTTP_Request_Configuration" path="/" method="GET" doc:name="HTTP"/>
    <!-- store response -->
    <catch-exception-strategy doc:name="Catch Exception Strategy">
        <logger level="INFO" doc:name="Logger"/>
    </catch-exception-strategy>
</flow>

【讨论】:

  • 嘿蒂龙,感谢您的回复,
  • 我认为您无法抑制 HTTP 请求者的超时异常。请参阅编辑重新私有流程 - 根据我的理解应该仍然有效。
  • 对不起,我不熟悉。似乎已经实现了灰熊的实现。尝试更改请求配置(例如删​​除持久连接)或减少要执行的 URL,看看是否仍然存在错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
相关资源
最近更新 更多