【问题标题】:Java Retry Approach For a Failed Webservice Call失败的 Web 服务调用的 Java 重试方法
【发布时间】:2017-11-03 04:13:33
【问题描述】:

需要为失败的服务调用设计更好的重试解决方案的建议。

例如:在我的应用程序中,我确实有一个传递给服务方法的项目列表。然后用于将列表 bean 持久化到 其他应用程序 数据库中。我们调用的服务是我们无权访问的 OSB 服务。如果由于任何问题(服务关闭),它会将失败的 bean 插入 我的应用程序数据库。所以我有一个 LOG 表,其中有一个包含日期和错误消息的失败 bean 列表。

我必须阅读并在特定时间段内继续对其进行重新处理。

我的解决方案: 1. 从 LOG 表中检索 bean 列表。 2. 使用 FutureTask 准备异步调用。 3.然后定期尝试3次。

【问题讨论】:

    标签: java asynchronous architecture


    【解决方案1】:

    查看消息传递模式。您正在重新创建消息传递模式,但从头开始。如果您打算这样做,请尝试寻找比固定时间重试更强大的方法:

    https://dzone.com/articles/understanding-retry-pattern-with-exponential-back

    否则,请使用一些中间件来完成此任务,例如 MuleESB 或 Apache ServiceMix 之类的 ESB...它们会更加健壮,包括医院队列、可配置重试、升级等内容。

    【讨论】:

    • 很好,谢谢,我一直在寻找同样的建议。这将是强大的。感谢您指出工具和 API
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    相关资源
    最近更新 更多