Apache HttpClient 超时设置说明

概述

构造请求时,可以设置请求的超时时间:

RequestConfig requestConfig = RequestConfig.custom()
    .setSocketTimeout(1000)
    .setConnectTimeout(1000)
    .setConnectionRequestTimeout(1000)
    .build();

有三种超时时间:

  • socketTimeout
  • connectTimeout
  • connectionRequestTimeout

connectTimeout

指建立连接的超时时间,比较容易理解。

connectionRequestTimeout

指从连接池获取到连接的超时时间,如果是非连接池的话,该参数暂时没有发现有什么用处。

socketTimeout

指客户端和服务进行数据交互的时间,是指两者之间如果两个数据包之间的时间大于该时间则认为超时,而不是整个交互的整体时间。

比如如果设置1秒超时,如果每隔0.8秒传输一次数据,传输10次,总共8秒,这样是不超时的。而如果任意两个数据包之间的时间超过了1秒,则超时。

你可能感兴趣的:(Java,后端开发,服务器,网络,运维)