CloseableHttpClient 在使用过程中遇到的问题
代码是前辈写的,在对代码进行压测的时候遇到了个问题,最大线程是 不能超过setDefaultMaxPerRoute设置的数字,一点超过 就会死掉。这里会报错 connection pool shut down httpclient
查找过很多博客,查到原因是因为接受到的集合没有释放导致 CloseableHttpClient 一直在被占用。随意可使用的最线程数 就不会超过 之前设置setDefaultMaxPerRoute 数字
private
static
CloseableHttpClienthttpClient;
static
{
PoolingHttpClientConnectionManagercm =
new
PoolingHttpClientConnectionManager();
cm.setMaxTotal(
200
);
cm.setDefaultMaxPerRoute(
20
);
cm.setDefaultMaxPerRoute(
50
);
httpClient = HttpClients.custom().setConnectionManager(cm).build();
}
public
static
String get(String url) {
HttpResponse response
=
null
;
BufferedReaderin =
null
;
String result =
""
;
try
{
HttpGethttpGet =
new
HttpGet(url);
response = httpClient.execute(httpGet);
in =
new
BufferedReader(
new
InputStreamReader(response.getEntity().getContent()));
StringBuffersb =
new
StringBuffer(
""
);
String line =
""
;
String NL = System.getProperty(
"line.separator"
);
while
((line = in.readLine()) !=
null
) {
sb.append(line + NL);
}
in.close();
result = sb.toString();
}
catch
(IOException e) {
e.printStackTrace();
}
return
result;
}
public
static
void
main(String[] args) {
}
public
static
String get(String url) {
CloseableHttpResponse response
=
null
;
BufferedReaderin =
null
;
String result =
""
;
try
{
HttpGethttpGet =
new
HttpGet(url);
response = httpClient.execute(httpGet);
in =
new
BufferedReader(
new
InputStreamReader(response.getEntity().getContent()));
StringBuffersb =
new
StringBuffer(
""
);
String line =
""
;
String NL = System.getProperty(
"line.separator"
);
while
((line = in.readLine()) !=
null
) {
sb.append(line + NL);
}
in.close();
result = sb.toString();
}
catch
(IOException e) {
e.printStackTrace();
}
finally
{
try
{
if
(
null
!= response) response.close();
}
catch
(IOException e) {
e.printStackTrace();
}
}
return
result;
}
return
result;
}
public
static
void
main(String[] args) {
}
CloseableHttpClient 在使用过程中遇到的问题的更多相关文章
- WINDOWS系统下MYSQL安装过程中的注意事项
1.首先MySQL的安装方式有两种:一种是MSI安装方式,很简单就像安装Windows软件一样.另外一种就是ZIP安装方式.这种相对而言比较麻烦.新手推荐MSI安装方式. 安装方式有以下两种: MSI ...
- 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误
SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...
- zabbix 3.0.3 (nginx)安装过程中的问题排错记录
特殊注明:安装zabbix 2.4.8和2.4.6遇到2个问题,如下:找了很多解决办法,实在无解,只能换版本,尝试换(2.2.2正常 | 3.0.3正常)都正常,最后决定换3.0.3 1.Error ...
- C语言调试过程中duplicate symbol错误分析
说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...
- 测试或运维工作过程中最常用的几个linux命令?
大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...
- Atomikos的使用过程中要注意的事
在使用Atomikos过程中遇到的一些问题,以作记录: MySQL does not support TMJOIN MySQL does not allow for joining an existi ...
- MySQL Fabric和MyBatis的整合过程中遇到的问题
这是我昨天在整合MySQL Fabric和MyBatis时遇到的问题,花了大半天才解决的问题,解决的过程中在网上查找了很久,都没有找到解决的方案.现在记下来,希望能够帮助有同样问题的朋友.如果各位朋友 ...
- gulp使用过程中出现的问题
在使用gulp的过程中,最容易出现错误的地方就是在安装本地的gulp的时候,错误的原因有: 1.本来是局部安装gulp,但使用命令时还带-g. 2.忘记在局部安装gulp. 以上两种情况出错时会报错, ...
- JAVA安装过程中出现的“javac不是内部或外部指令”的解决方法
近来重新安装了JAVA,安装过程中出现问题,网上找到解决办法,汇总发布. 解决流程: 1.确定自己的环境变量设置没问题,没有出现遗漏 : . 等情况 (具体环境变量设置百度) 2.环境变量设置后 ,d ...
随机推荐
- 转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验
出处:http://www.cnblogs.com/Laupaul/archive/2012/03/15/2398360.html http://www.blogjava.net/focusJ/arc ...
- jsp内置对象(转)
JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.exception 1. ...
- python中实现将普通字典dict转换为java中的treeMap
上代码: from heapq import heappush,heappop from collections import OrderedDict def toTreeMap(paramMap): ...
- HashMap源码分析2:扩容
本文源码基于JDK1.8.0_45. final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; int oldCap = ...
- Linux下使用tcpdump进行抓包(转)
技巧: 1.可以通过tcpdump抓取某个网卡的包,然后输出日志文件,通过Wireshark进行分析. 2.可以设置Wifi热点,然后通过手机连接这个热点,然后进行tcpdump的分析.而且在Ubun ...
- Oracle Multitenant Environment (三) Plan for a cdb
Below tables contains contant you need to consider while planning for a CDB. Action Considerations f ...
- MySQL: 改变Homebrew安装MySQL/MariaDB的数据库文件目录
1. brew install mariadb 2. mysql_install_db --verbose --user=$USER --basedir=/usr/local/Cellar/maria ...
- windows 2008 64位在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
在本机32位环境中使用access数据库正常. 公布到server上时提示:在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配 server是64位环境.windows 2008,64位的t ...
- Manthan, Codefest 16 C
建trie树,刚好字符串是反向的,直接在原图上向前搜索就OK了……………… 可怜的我竟然用了RK来hash,在test67那里T了…… 贴个RK的 #include <iostream> ...
- android学习笔记(9)android程序调试学习
相应若水老师的第十四课 一,Log日志输出 Log.v(tag,message); //verbose模式,打印最具体的日志 Log.d(tag,message); // ...