如何解决在 Jetty Client 中处理自动重试
在 Jetty 8 中,曾经有这样的:
但我在新 API 中没有看到任何等效内容,也没有在以下内容中提及:
根据这个答案,这似乎是不可能的:
如何配置 maxRetries 以及 Jetty 客户端允许重试的方法?
我正在寻找类似的东西:
- https://www.javadoc.io/doc/org.apache.httpcomponents/httpclient/4.5.3/org/apache/http/impl/client/LaxRedirectStrategy.html
- https://www.javadoc.io/doc/org.apache.httpcomponents/httpclient/4.5.3/org/apache/http/impl/client/DefaultHttpRequestRetryHandler.html
解决方法
TLDR 的答案是您必须编写自己的重试侦听器。
通过这种方式,您可以完全控制重试延迟策略,是否更改 URI,或方法等。
此外,自动重试给人一种错误的印象,即它们可用于所有请求,但无法重试内容不可复制的请求(例如,从 InputStream
中读取的内容只能使用一次)。
此外,不应重试非幂等请求。
总而言之,有太多的自定义逻辑最适合由应用程序而不是由 Jetty 实现。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。