我有一个未知的应用正在使用Spring Web服务。
该应用程序为每个Web服务调用设置了超时时间。
无论应用超时如何,服务器都将继续处理。
是否有其他任何Web服务调用接收到错误响应(对超时的Web服务调用的响应)的风险? Spring如何管理这一点?鉴于每个连接通道都为特定的Web服务调用打开了,因此HTTP协议不能解决这个问题;如果断开,则应该无法检索响应?
答案 0 :(得分:0)
作为开发人员,您应该尝试使对Web服务器的所有可能的HTTP请求成为幂等。这意味着客户端必须能够重试失败的请求而没有新的可能的错误,这是由于无法知道先前的(超时)请求结果。
客户端应自己处理HTTP客户端超时,并且(默认情况下)应将超时错误视为失败。您的客户端稍后可能会重复该请求,并且服务器端应该能够处理相同的请求。
对于不同的任务,解决方案可能会有所不同,具体取决于复杂性(从INSERT语句到数据库或安排新的CRON作业以避免重复)。