我正在使用Spring rest模板发送REST请求与apache http client 4.2.1集成。
由于我们需要向多个服务器发送请求,因此添加了PoolingClientConnectionManager来管理连接。
将每条路线的最大值设置为5 connectionManager.setDefaultMaxPerRoute(5)
在系统运行几天后,我们发现连接达到了每个路由设置的最大值。
印刷日志如下 总保持活力:0;分配路线:5/5;总分配:5/100
似乎由于某种原因没有释放连接。但是当我调试时,我发现每次请求完成后,即使发生异常,连接也会被释放。
是否还有其他潜在的根本原因无法释放?
答案 0 :(得分:0)
这是因为在某些情况下,服务器持有请求,我们需要为http客户端添加超时