您的位置:首页 > 理论基础 > 计算机网络

httpclient中设置timeout失效问题

2017-01-17 11:03 453 查看
今天做一个上传功能,一个200M的文件上传需要9分钟,设置了50秒的timeout一直不生效

RequestConfig resConf = RequestConfig.custom().setConnectTimeout(50000).setSocketTimeout(50000).setConnectionRequestTimeout(50000).build();
return HttpClientBuilder.create().setDefaultRequestConfig(resConf).build();
直接设置httppost的timeout也不起作用:

HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 50*1000);
HttpConnectionParams.setSoTimeout(params, 50*1000);
httpPost.setParams(params);


原因:

connectionRequestTimeout是获取连接池连接的超时时间

connectionTimeout是建立连接的超时时间,

socketTimeout是等待服务器响应的超时时间

而上传文件是请求数据到服务器的时间,目前没有发现可以设置请求数据传送的超时时间。

以上
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: