加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – HttpComponents PoolingHttpClientConnectionManager ma

发布时间:2020-12-14 05:12:33 所属栏目:Java 来源:网络整理
导读:有人可以向我解释一下setMaxPerRoute(max)和setMaxTotal(max)在引用HttpComponents PoolingHttpClientConnectionManager时做了什么? 解决方法 这些设置控制连接池大小. setMaxTotal(max)定义连接池的总连接限制. setMaxPerRoute(max)定义每个HTTP路由的连接
有人可以向我解释一下setMaxPerRoute(max)和setMaxTotal(max)在引用HttpComponents PoolingHttpClientConnectionManager时做了什么?

解决方法

这些设置控制连接池大小.

> setMaxTotal(max)定义连接池的总连接限制.
> setMaxPerRoute(max)定义每个HTTP路由的连接限制.在简单的情况下,您可以将其理解为每个目标主机限制.在引擎盖下,事情更有趣:HttpClient维护了几个HttpRoute对象,它们代表每个主机链,如proxy1 – > proxy2 – > targetHost.连接按路由汇集.在简单的情况下,当您使用默认路由构建机制并且不提供代理支持时,您的路由可能仅包括目标主机,因此每个路由连接池限制实际上变为每个主机限制.

例:

假设你有setMaxPerRoute(5)和setMaxTotal(20).这意味着您可以同时为每个目标主机使用最多5个连接:5个与google.com的连接,另外5个与oracle.com的连接,依此类推.但是,无论您正在与之通信的主机数量是多少,打开的连接总量都不能超过20.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读