我正在尝试使用REST模板从Spring MVC应用程序调用REST API。 这样做时,我们必须设置超时值(连接超时和读取超时),并保持在YML文件中。
从YML读取超时,并在初始化rest模板时设置超时。
例如,如果我有类似:- 连接超时= 5秒,读取超时= 3秒
我的问题是何时会发生读取超时?
我搜索了相同的内容,但是没有得到答案,因为我获得了信息,因为连接超时是用于建立连接的,因此从连接读取时将进行读取,但是读取超时值是否也包括连接超时值尚不清楚。
这可能是一个基本问题,但是我很困惑,因此任何有关此方面的指导/指标都将有所帮助。
谢谢!
EDIT:我经历了“ Spring rest template readTimeOut”,它说时钟在请求首次到达该套接字时开始,并在其中任何一个先到达时停止:请求完成或达到readTimeout ,但我知道在建立连接时也会碰到套接字。这是否意味着readtimeout也包括连接超时?
答案 0 :(得分:0)
它们是相互独立的。
假设httpUrlConntection.setConnectTimeout(10000); httpUrlConntection.setReadTimeout(10000);
所以我们有 10 秒的时间才能发生 TCP 握手。一旦读取被触发,我们有 10 秒的时间来读取数据包。如果响应未完全传输,则抛出异常。
对于概念理解: What is the difference between connection and read timeout for sockets?