client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 12000);
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 12000);
Invalid use of SingleClientConnManager: connection still allocated 错误,主要有两种:
1 同一个httpclient当 前一个post|get请求尚未结束,另条线程又再次使用该httpclient请求数据,则前一个会报出如上错误
2 多线程同步问题:
httpclient默认使用的是SingleClientConnManager,但在并发环境下最好使用ThreadSafeClientConnManager。代码如下:
HttpClient client = new DefaultHttpClient(new ThreadSafeClientConnManager());