httpclient端口占满,处于Close_wait状态。Timeout waiting for connection from pool
2016-11-09 00:00
1386 查看
摘要: 使用PoolingHttpClientConnectionManager管理
前提:httpclient发送请求,服务器响应码为409,这种情况下httpclient的连接状态为close_wait,且不能被重置复用,但是这个连接占用连接池中一个数,如果这种连接越来越多导致连接池占满没有可用资源。
网上有好多解决方案。
1、增大httppool的连接数
2、当占满时关闭所有连接
上述都不能解决根本。
根本原因就是,当一个连接僵死,需要httpclient手动释放连接。
对于HttpEntityEnclosingRequestBase来说,client每次请求都会生成他的一个子类。
例如:class HttpPost extends HttpEntityEnclosingRequestBase{}
HttpPost httpPost = new HttpPost ();
对应的 httpPost .abort()就是关闭这个连接,而并非关闭整个连接池或者client。
理论上说如果服务器响应码为非200段的,那么连接需要我们客户端手动断开。
前提:httpclient发送请求,服务器响应码为409,这种情况下httpclient的连接状态为close_wait,且不能被重置复用,但是这个连接占用连接池中一个数,如果这种连接越来越多导致连接池占满没有可用资源。
网上有好多解决方案。
1、增大httppool的连接数
2、当占满时关闭所有连接
上述都不能解决根本。
根本原因就是,当一个连接僵死,需要httpclient手动释放连接。
对于HttpEntityEnclosingRequestBase来说,client每次请求都会生成他的一个子类。
例如:class HttpPost extends HttpEntityEnclosingRequestBase{}
HttpPost httpPost = new HttpPost ();
对应的 httpPost .abort()就是关闭这个连接,而并非关闭整个连接池或者client。
理论上说如果服务器响应码为非200段的,那么连接需要我们客户端手动断开。
相关文章推荐
- 解决Httpclient 4 偶尔报错ConnectionPoolTimeoutException: Timeout waiting for connection from pool
- HttpClient连接池出现连续ConnectionPoolTimeoutException:Timeout waiting for connection from pool异常
- httpsclient 报错 timeout waiting for connection from pool
- HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
- ConnectionPoolTimeoutException:Timeout waiting for connection from pool
- HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
- HttpClient Timeout waiting for connection from pool 问题解决方案
- HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
- HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
- HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
- HttpClient ConnectionPoolTimeoutException: Timeout waiting for connection
- Spring Hibernate4 连接几次后连接异常, Cannot get a connection, pool error Timeout waiting for idle object
- Android HttpClient多线程获取网络数据抛出ConnectionPoolTimeoutException: Timeout waiting for connection
- org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object异常原因
- 如何解决Cannot get a connection, pool error Timeout waiting for idle object
- Cannot get a connection, pool error Timeout waiting for idle object
- Cannot get a connection, pool error Timeout waiting for idle object
- Cannot get a connection, pool error Timeout waiting for idle object
- HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查