代码块
RequestConfig requestConfig = RequestConfig.custom()
.setConnectionRequestTimeout(2000)
.setConnectTimeout(1000)
.setSocketTimeout(2000)
.build();
- connectionRequestTimout:
指从连接池获取连接的timeout - connetionTimeout:
指客户端和服务器建立连接的timeout,就是http请求的三个阶段,一:建立连接;二:数据传送;三,断开连接。超时后会ConnectionTimeOutException - socketTimeout:
指客户端从服务器读取数据的timeout,超出后会抛出SocketTimeOutException
容易误解 的是socketTimeout
如上图: .setSocketTimeout(4000) 超时5秒 !
并不会如大家想的 报错java.net.SocketTimeoutException: Read timed out
!
SocketTimeout 值是相邻报文的间隔时间 也就是上图的 3秒 !