HttpClient报错Timeout waiting for connection from pool
报错现象
线上项目使用HttpClient请求第三方的HTTP资源,并发量高的时候,日志框报Timeout waiting for connection from pool
客户端的现象是有时正常,有时报错
原因分析
网上查找资料,很多照搬某个博客的解决方法,大致是合理的使用EntityUtils.consume及时释放请求连接
这个说法没错,但是这里的问题不是请求连接释放不当导致的
出现这个异常是因为新的请求来的时候,需要到HttpClient的线程池里面获取一个连接,作为请求连接
当请求等待获取连接的时间超过设置的connectionRequestTimeout,就会抛出Timeout waiting for connection from pool异常
解决方法
1. 合理的配置HttpClient的连接池大小
clientBuilder.setMaxConnTotal(maxConnections);
2. 结合业务现状配置连接超时时间
RequestConfig.custom().
setConnectTimeout(connectTimeout).
setSocketTimeout(readTimeout).
.setConnectionRequestTimeout(connectionRequestTimeout).build();
HttpClient报错Timeout waiting for connection from pool的更多相关文章
- HttpClient Timeout waiting for connection from pool 问题解决方案
错误:org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool 前言 ...
- HttpClient 的Timeout waiting for connection from pool
Timeout waiting for connection from pool 异常 httpClient大家用到地方会很多,先简单描述一下几个关键配置的意义 httpClient版本为4.5.1 ...
- HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
转自: http://blog.csdn.net/shootyou/article/details/6615051 今天解决了一个HttpClient的异常,汗啊,一个HttpClient使用稍有不慎 ...
- Uiautomator--出现报错“urllib3.exceptions.ProtocolError:<'Connection aborted.',error<10054,''>>”的解决方式!
在运行uiautomator时,出现报错"urllib3.exceptions.ProtocolError:<'Connection aborted.',error<10054, ...
- zookeeper报错java.net.ConnectException: Connection refused: no further information
zookeeper报错java.net.ConnectException: Connection refused: no further information 这是在linux 启动 https:/ ...
- Anaconda3-更换为清华源后依旧报错CondaHTTPError: HTTP 000 CONNECTION FAILED
前言 今天发现换完清华源以后依旧报错 CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsi.. ...
- Javassm连接数据库报错129 ERROR [com.alibaba.druid.pool.DruidDataSource] - {dataSource-1} init error
Javassm连接数据库报错129 ERROR [com.alibaba.druid.pool.DruidDataSource] - {dataSource-1} init error 发现jdbc这 ...
- 最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
自从SEOTcs系统11月份24日更新了一下SEO得分算法以来,一直困扰我的一个问题出现了,java的数据job任务,在执行过程中会经常报以下的错误: “2011-12-03 18:00:32 Def ...
- 启动监听报错:TNS-12537: TNS:connection closed TNS-12560: TNS:protocol adapter error TNS-00507: Connection closed Linux Error: 29: Illegal seek
启动监听程序报错: 说明:在rhel5.8上安装完成oracle11g数据库后,使用netca创建完监听,启动监听时报错.还未使用dbca创建实例. [oracle@rusky-oracle11g ~ ...
- nginx 报错 connect() failed (111: Connection refused) while connecting to upstream
公司网站搬迁到新服务器后,发现站点访问不了,network里面提示502,查看相关的server配置,感觉没有什么问题,经过测试发现txt.html.等非php文件能够直接访问,也就是php访问不了, ...
随机推荐
- PE文件结构2(实现PE文件载入)
现在我们已经学完了PE文件格式,但是尚还停留在纸上谈兵的阶段,作为Windows系统上的可执行文件格式,PE文件结构总是和结构体,指针等紧密联系在一起的.理解它的最好方法就是通过写一个类似LordPE ...
- 【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器
问题描述 在App Service for linux上创建一个PHP应用,通过 phpinfo() 查看PHP的扩展设置,发现JIT没有被开启, jit_buffer_size 大小为0. 那么,在 ...
- GAN!生成对抗网络GAN全维度介绍与实战
本文为生成对抗网络GAN的研究者和实践者提供全面.深入和实用的指导.通过本文的理论解释和实际操作指南,读者能够掌握GAN的核心概念,理解其工作原理,学会设计和训练自己的GAN模型,并能够对结果进行有效 ...
- 使用 Sealos 在离线环境中光速安装 K8s 集群
作者:尹珉.Sealos 开源社区 Ambassador,云原生爱好者. 当容器化交付遇上离线环境 在当今快节奏的软件交付环境中,容器化交付已经成为许多企业选择的首选技术手段.在可以访问公网的环境下, ...
- 【matplotlib基础】--图例
Matplotlib 中的图例是帮助观察者理解图像数据的重要工具.图例通常包含在图像中,用于解释不同的颜色.形状.标签和其他元素. 1. 主要参数 当不设置图例的参数时,默认的图例是这样的. impo ...
- Vue用v-bind给标签属性赋值 src, href...
给属性渲染数据不能使用 {{name}} 标记, 请使用 v-bind:属性名称="name" name是json数据键值对中的键名, 请配合下面JS代码片食用 HTML < ...
- Linux-Stream内存带宽及MLC内存延迟性能测试方法
1.Stream内存带宽测试 Stream是业界主流的内存带宽测试程序,测试行为相对简单可控.该程序对CPU的计算能力要求很小,对CPU内存带宽压力很大.随着处理器核心数量的增大,而内存带宽并没有 ...
- java算法之排序算法大全
①排序 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法.排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方 ...
- 文心一言 VS 讯飞星火 VS chatgpt (112)-- 算法导论10.2 3题
三.用go语言,用一个单链表L实现一个队列.要求操作 ENQUEUE 和 DEQUEUE 的运行时间仍为O(1). 文心一言: 在 Go 语言中,使用单链表实现队列的操作,包括入队(ENQUEUE)和 ...
- jq工具及其常用用法
近来在工作中处理JSON处理较多,深入研究了一下jq,之前对jq的使用一直停留在JSON数据格式化的层面,实际它的能力远不止于此. 在处理JSON数据时,我们经常需要在命令行中进行过滤.查询和编辑的操 ...