httpclient: 设置连接池及超时配置,请求数据:PoolingHttpClientConnectionManager
public static void main(String[] args) throws Exception{
//httpclient连接池
//创建连接池
PoolingHttpClientConnectionManager cManager = new PoolingHttpClientConnectionManager();
//设置最大连接数
cManager.setMaxTotal(50);
//设置每个主机地址的并发数
cManager.setDefaultMaxPerRoute(20);
//执行i请求
doGet(cManager);
}
private static void doGet(PoolingHttpClientConnectionManager cm) throws Exception{
//从连接池获取连接,每次不一样
CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(cm).build();
//设置http get
HttpGet httpGet = new HttpGet("https://www.baidu.com");
//设置请求参数
RequestConfig config = RequestConfig.custom().setConnectTimeout(5000) //连接超时时间
.setConnectionRequestTimeout(500) //从线程池中获取线程超时时间
.setSocketTimeout(8000) //设置数据超时时间
.setStaleConnectionCheckEnabled(true) //提交请求前检查连接是否可用
.build();
httpGet.setConfig(config);
//返回数据
CloseableHttpResponse response = null;
try {
response = httpClient.execute(httpGet);
String con = EntityUtils.toString(response.getEntity(), "utf-8");
System.out.println(con);
}finally{
if(response!=null){
response.close();
}
httpClient.close();
}
}
httpclient: 设置连接池及超时配置,请求数据:PoolingHttpClientConnectionManager的更多相关文章
- MongoDB设置连接池操作百万级以上数据
开发环境 spring 4.3.7 + springBoot 1.5.2 + dubbo 2.6.5 + mongoDB 4.0.0 连接池配置 mongo-pool.properties sprin ...
- httpclient httpclient使用连接池
httpclient使用连接池 http协议是无状态的,但毕竟是基于tcp的,底层还是需要和服务器连接的, 对于需要从同一个站点抓取大量网页的程序,应该使用连接池,否则每次抓取都和web站点建立连接, ...
- 使用druid连接池的超时回收机制排查连接泄露问题
在工程中使用了druid连接池,运行一段时间后系统出现异常: Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: ...
- .Net连接字符串设置连接池大小显著提高数据库速度
在访问mysql数据库时,如果在连接字符串中设置使用连接池,同时设置连接池大小,经测试,可以显著提高访问数据库时的速度. 连接字符串: connectionStrings> <add ...
- Druid连接池参数maxWait配置错误引发的问题
Druid连接池参数maxWait配置错误引发的问题 1. 背景 数据库服务器(服务部署在客户内网环境)的运行一段时间后,网卡出现了问题,导致所有服务都连接不上数据库,客户把网络恢复之后,反馈有个服务 ...
- springboot 连接池wait_timeout超时设置
使用springboot 线程池连接MySQL时,mysql数据库wait_timeout 为8个小时,所以程序第二天发现报错,在url配置了 autoReconnect=true 也不行,查询配置以 ...
- 转 HttpClient 设置连接超时时间
要: HttpClient 4.5版本升级后,设置超时时间的API又有新的变化,请大家关注. HttpClient升级到4.5版本后,API有很多变化,HttpClient 4之后,API一直没有太稳 ...
- HttpClient设置连接超时时间
https://www.cnblogs.com/winner-0715/p/7087591.html 使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间.这两个参数很重要,目的是为 ...
- HttpClient 基于连接池的使用
场景:调用外部系统接口的http请求 要求: 1:可能是http请求,也可能是https请求 2:需要加入连接池的概念,不能每次发起请求都新建一个连接(每次连接握手三次,效率太低) 准备使用httpc ...
随机推荐
- 怎么查看服务器的cpu和内存的硬件信息
在linux 下怎么查看服务器的cpu和内存的硬件信息 可以按照如下方式进行操作: 一.查看cpu总个数方法: 1.首先执行top命令,如下图中内容所表示. 2.在top命令的显示界面,按数字 ...
- Jenkins+Git+Maven+Tomcat详细安装步骤
jenkins安装 jenkins的war包安装 以下war包的安装是直接使用war包内嵌的页面访问,也可以将war包放到tomcat的webapps下通过tomcat访问,在下面的tomcat步骤有 ...
- ubuntu 使用新添加的用户登录只有$解决方法
在ubuntu中,使用useradd新建的用户,默认使用的shell是dash,导致界面不美观,操作也不舒服. 情况如下: 只有美元符,不显示用户,很多乱码,且文件没有颜色. 解决方法,将该用户使用的 ...
- T100-----调试程序,快速定位到错误行
1.r.d 作业编码 2.ctrl+d3.输入 watch g_errparam.code if g_errparam.code='错误编码', 点几次OK, 再直接run程序,会自动跳 ...
- SQL Server中,常用的全局变量
在SQL Server中,全局变量是一种特殊类型的变量,服务器将维护这些变量的值.全局变量以@@前缀开头,不必进行声明,它们属于系统定义的函数.下表就是SQL Server中一些常用的全局变量. 全局 ...
- JSON C# Class Generator
http://www.xamasoft.com/json-class-generator/ JsonHelper.cs using System; using System.Collections.G ...
- 【转载】C#使用Math.Ceiling方法对计算结果向上取整操作
在C#的数值运算中,有时候需要对计算结果进行向上取整操作,支持设定结算结果的有效位数,Math.Ceiling方法是C#中专门用来对数值进行向上取整的方法,此方法和Math.Round方法.Math. ...
- python02---基础数据类型
python02---基础数据类型 一. 什么是数据类型 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,&quo ...
- python内置异常层次
内置异常 BaseException # 所有异常的基类 +-- SystemExit # 解释器请求退出 +-- KeyboardInterrupt # 用户中断执行(通常是输入^C) +-- Ge ...
- Linux命令——tree
参考:Linux tree Command Tutorial for Beginners (6 Examples) 简介 Linux tree命令用于以树状图列出目录的内容. 执行tree指令,它会列 ...