Apache Httpclient 连接未释放
Apache Httpclient Connection not Released
我正在使用 spring rest 模板发送集成了 apache http 客户端 4.2.1 的 REST 请求。
由于我们需要向多个服务器发送请求,添加了 PoolingClientConnectionManager 来管理连接。
将每条路线的最大数量设置为 5
connectionManager.setDefaultMaxPerRoute(5)
而在系统 运行 几天后,我们发现连接达到了每个路由设置的最大值。
打印日志如下
存活总数:0;分配的路线:5 个中的 5 个;分配总数:5 of 100
似乎由于某种原因没有释放连接。但是我在debug的时候发现每次request结束后,即使有异常也会释放连接
是否还有其他潜在的导致此连接无法释放的根本原因?
这是因为在某些情况下,服务器持有请求,我们需要为http客户端添加超时
我正在使用 spring rest 模板发送集成了 apache http 客户端 4.2.1 的 REST 请求。
由于我们需要向多个服务器发送请求,添加了 PoolingClientConnectionManager 来管理连接。
将每条路线的最大数量设置为 5 connectionManager.setDefaultMaxPerRoute(5)
而在系统 运行 几天后,我们发现连接达到了每个路由设置的最大值。
打印日志如下 存活总数:0;分配的路线:5 个中的 5 个;分配总数:5 of 100
似乎由于某种原因没有释放连接。但是我在debug的时候发现每次request结束后,即使有异常也会释放连接
是否还有其他潜在的导致此连接无法释放的根本原因?
这是因为在某些情况下,服务器持有请求,我们需要为http客户端添加超时