2

我在我的 Web 应用程序中使用 HttpComponents 4.2.2 库进行 Http 通信。HttpClient 用作单例, PoolingClientConnectionManager 作为其连接管理器。客户端可以通过提供主机和端口将连接初始化为 PoolingClientConnectionManager 中的 HttpRoute。这个想法是,如果客户端需要,它可以将多个 HttpRoute(s) 添加到连接池并为这些路由初始化连接(受 MaxConnectionsPerRoute 和 TotalMaxConnections 设置的限制)。

现在我的问题是,当我收到在连接池中添加路由的请求时,我如何从连接池/httpclient api 中确定,如果连接池中已经存在为该路由初始化的连接?

一种解决方法是维护已经单独初始化的路由列表/映射以进行交叉检查或查找,但我正在寻找一个 httpcomponents api 支持来执行此操作。

4

1 回答 1

0

您是否尝试过 PoolingClientConnectionManager#getStats(HttpRoute)?

http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/conn/PoolingClientConnectionManager.html#getStats%28org.apache.http.conn.routing.HttpRoute%29

于 2012-11-23T21:41:21.117 回答