首页 > 解决方案 > Spring HTTP 客户端超时 - Web 服务调用 - 响应错误

问题描述

我有一个未知的应用程序正在使用我的 Spring Web 服务。

该应用程序为每个 Web 服务调用设置了超时。

无论应用程序超时如何,服务器都会继续处理。

收到错误响应(对超时的 Web 服务调用的响应)是否存在任何其他 Web 服务调用的风险?Spring如何管理这个?鉴于每个连接通道都为对 web 服务的特定调用打开,并且如果损坏,应该无法检索响应,HTTP 协议是否会处理这个问题?

标签: springhttptimeoutclient

解决方案


作为开发人员,您应该尝试使对 Web 服务器的所有可能的 HTTP 请求都是幂等的。这意味着客户端必须能够重试失败的请求而不会出现新的可能错误,因为无法知道之前的(超时)请求结果。
客户端应自行处理 HTTP 客户端超时,并且(默认情况下)应将超时错误视为失败。您的客户端可能稍后会重复该请求,并且服务器端应该能够处理相同的请求。
不同任务的解决方案可能会有所不同,具体取决于复杂性(从 INSERT 语句到数据库或安排新的 CRON 作业以避免重复)。


推荐阅读