我试图了解restTemplate上可用的readTimeout,它到底是什么?
它是在我们得到超时异常之前请求可以花费的总时间吗?
原文由 Seb 发布,翻译遵循 CC BY-SA 4.0 许可协议
我试图了解restTemplate上可用的readTimeout,它到底是什么?
它是在我们得到超时异常之前请求可以花费的总时间吗?
原文由 Seb 发布,翻译遵循 CC BY-SA 4.0 许可协议
8 回答6k 阅读
1 回答2.2k 阅读✓ 已解决
1 回答1.9k 阅读✓ 已解决
2 回答1.2k 阅读
1.9k 阅读
1 回答952 阅读
1 回答787 阅读
您可以在
RestTemplate
上定义读取超时,如下所示:给定 X 毫秒的 readTimeout,通过该 RestTemplate 实例发出的任何花费超过 X 毫秒的请求都将导致
ResourceAccessException
包装一个java.net.SocketTimeoutException
异常消息:“读取超时”。超时实际上是由
HttpClient
实例中的套接字连接器实现的,该实例由RestTemplate
包装,因此时钟在请求第一次到达该套接字时开始,并在其中任何一个先出现时停止: 请求完成或达到 readTimeout。实际上,这意味着任何花费时间超过配置的 readTimeout 的请求都将失败并出现超时异常。