httpclient 释放连接的问题 Invalid use of SingleClientConnManager: connection still allocated
2024-08-31 03:08:50
Invalid use of SingleClientConnManager: connection still allocated
httpPost.releaseConnection(); 该代码只会复用连接,并不会关闭当前连接,其实下面的方法client.getConnectionManager().closeIdleConnections(0, TimeUnit.MICROSECONDS); 在某些时候也没关闭,感觉和httpPost.releaseConnection(); 只是起到同样复用的结果,两个都写更加保障(在某些版本中两个方法只会有其中一个)
httpclient 4种关闭连接 参考这里面的4种方法 (个人未试过) 第三种方法貌似可以
在android4.2中 client.getConnectionManager().closeIdleConnections(0, TimeUnit.MICROSECONDS);
在httpclient 4.2 种 client.getConnectionManager().closeIdleConnections(0, TimeUnit.MICROSECONDS);
经测试 ,上面两种调用也无用
client.getConnectionManager().closeIdleConnections(0, TimeUnit.MICROSECONDS);
在上面加上
httpGet.abort();
就再也没有出现该错了
代码
String result = null;
HttpPost httpPost = new HttpPost(serverUrl);
try {
StringEntity e = new StringEntity(bodyStr,"UTF-8");
httpPost.setEntity(e);
httpPost.setHeader("Content-Type", "text/xml;charset=UTF-8");
HttpResponse response = this.client.execute(httpPost);
if(response.getStatusLine().getStatusCode() == 200) {
result = EntityUtils.toString(response.getEntity(), "utf-8");
}
} catch (Exception var10) {
LogL.e(var10.getMessage());
result = null;
}finally {
httpPost.abort(); //终止
client.getConnectionManager().closeIdleConnections(0, TimeUnit.MICROSECONDS); //再次调用确保回收
}
return result;
终极方法
client = new .... (重新实例化client)
最新文章
- 【原】谈谈对Objective-C中代理模式的误解
- Add&;Delete WindowService
- Javascript aop(面向切面编程)之around(环绕)
- 【转】unity开发android游戏(一)搭建Unity安卓开发环境
- MS SQL 多连接数时修改数据库名称
- LeetCode 152
- 【踩坑记】从HybridApp到ReactNative
- js 图片转换为base64 (2)
- DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版
- 一统江湖的大前端(7)React.js-从开发者到工程师
- 机器学习入门-BP神经网络模型及梯度下降法-2017年9月5日14:58:16
- 使用Three.js为QQ用户生成3D头像阵列
- <;转>;jmeter(十九)HTTP属性管理器
- Redis客户端集群
- XE7 Unit scope names
- npm 安装cnpm
- strtok()函数
- parameter ";timeout"; in socketchannel does not work
- 【[TJOI2017]异或和】
- MySQL 安装 + Windows7
热门文章
- SWIG 快速入门
- [Todo] Java并发编程学习
- windows安装Jupyter Notebook
- android4.0 USB Camera实例(三)UVC
- ffmpeg &; mplayer &; vlc 手册(转)
- KineticJS教程(7)
- Unity发布各平台路径
- om.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException
- 15-spring学习-集合表达式
- linux sort 、uniq 命令