您的位置:首页 > 大数据 > 人工智能

解决Httpclient 4 偶尔报错ConnectionPoolTimeoutException: Timeout waiting for connection from pool

2013-09-27 14:17 941 查看
HttpParams paramsw = new BasicHttpParams();
HttpConnectionParams.setStaleCheckingEnabled(paramsw, false);
HttpConnectionParams.setConnectionTimeout(paramsw, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(paramsw, SOCKET_TIMEOUT);
HttpConnectionParams.setSocketBufferSize(paramsw, 8192 * 5);

PoolingClientConnectionManager pcm = new PoolingClientConnectionManager();
//MaxTotal 值不应该太大
pcm.setMaxTotal(200);
//DefaultMaxPerRoute 是路由的默认最大连接(该值默认为2),限制数量实际使用DefaultMaxPerRoute并非MaxTotal。
//设置过小无法支持大并发(ConnectionPoolTimeoutException: Timeout waiting for connection from pool),路由是对maxTotal的细分。
pcm.setDefaultMaxPerRoute(pcm.getMaxTotal());//(目前只有一个路由,因此让他等于最大值)

httpClient = new DefaultHttpClient(pcm, paramsw);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐