【问题标题】:mule3 retry policy for HTTP用于 HTTP 的 mule3 重试策略
【发布时间】:2014-02-06 23:29:00
【问题描述】:

我想为HTTP调用设置重试策略,以防偶尔出现网络故障,所以我配置如下:

    <http:connector name="HTTP_Retry" cookieSpec="netscape" validateConnections="true" sendBufferSize="0" receiveBufferSize="0" receiveBacklog="0" clientSoTimeout="10000" serverSoTimeout="10000" socketSoLinger="0" doc:name="HTTP\HTTPS">
      <reconnect frequency="1000" count="3"/>
</http:connector>
....
<http:outbound-endpoint address="http://localhost:18081/mule/TheCreditAgencyService" doc:name="HTTP" exchange-pattern="request-response" method="POST" connector-ref="HTTP_Retry"/>

但是没有应用重试策略,即使我配置了客户重试策略,我调试了应用程序,设置了断点,程序没有运行到我的客户类中。

我阅读了文档,但只有 JMS 的示例。

有什么建议吗?我错过了配置吗?

提前致谢!

【问题讨论】:

    标签: http mule esb


    【解决方案1】:

    名称错误的重试策略负责重新连接连接器,而不是在发生故障时重新发送消息。

    在断开连接的连接器(如 HTTP 连接器)上,重试策略无效。它在 JMS 等连接器上很有用,在这种连接器中,与代理保持永久连接,在发生故障时需要重新连接。

    你所追求的是until-successful routing message processor

    【讨论】:

    • 谢谢,但是是异步进程,有同步进程重试吗?
    • 您可以通过使用带有事务的 VM 或 JMS 队列重新传递来模拟同步重试。但是为什么需要同步过程?
    • 我想重试网络问题,比如说 3 次,请求被搁置。 BTW,如何获取异步进程的结果?
    • 你坚持什么要求?传入的 HTTP 请求?结果在处理器链/子流/私有流中可用,直到成功,就在可能失败的出站 HTTP 端点之后重试。如果您需要与另一个线程共享此结果,您可以使用请求-回复路由器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多