httpclient中设置timeout失效问题

论坛 期权论坛 脚本     
匿名技术用户   2021-1-7 14:35   174   0

今天做一个上传功能,一个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是等待服务器响应的超时时间

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

以上

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP