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

来源:互联网 发布:快盘关闭 数据如何处理 编辑:程序博客网 时间:2024/05/14 19:22

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);