概述
构造请求时,可以设置请求的超时时间:
RequestConfig requestConfig = RequestConfig.custom()
.setSocketTimeout(1000)
.setConnectTimeout(1000)
.setConnectionRequestTimeout(1000)
.build();
有三种超时时间:
- socketTimeout
- connectTimeout
- connectionRequestTimeout
connectTimeout
指建立连接的超时时间,比较容易理解。
connectionRequestTimeout
指从连接池获取到连接的超时时间,如果是非连接池的话,该参数暂时没有发现有什么用处。
socketTimeout
指客户端和服务进行数据交互的时间,是指两者之间如果两个数据包之间的时间大于该时间则认为超时,而不是整个交互的整体时间。
比如如果设置1秒超时,如果每隔0.8秒传输一次数据,传输10次,总共8秒,这样是不超时的。而如果任意两个数据包之间的时间超过了1秒,则超时。

请求超时包括SocketTimeout、ConnectTimeout和ConnectionRequestTimeout。ConnectTimeout是建立连接的超时时间,ConnectionRequestTimeout是在连接池中获取连接的超时时间,SocketTimeout则是数据交互过程中的超时设定,不针对整体时间,而是两个数据包之间的时间间隔。
292

被折叠的 条评论
为什么被折叠?



