有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    这些设置控制连接池大小

    • setMaxTotal(max)定义连接池的总体连接限制
    • setMaxPerRoute(max)定义了每个HTTP路由的连接限制。在简单的情况下,您可以将其理解为每个目标主机的限制。引擎盖下的事情更有趣一些:HttpClient维护了两个HttpRoute对象,它们分别表示一个主机链,如proxy1 -> proxy2 -> targetHost。连接是基于每个路由进行池化的。在简单的情况下,当您使用默认路由构建机制并且不提供代理支持时,您的路由可能只包括目标主机,因此每路由连接池限制实际上变成了每主机限制

    示例:

    假设您有setMaxPerRoute(5)setMaxTotal(20)。这意味着您可以同时为每个目标主机使用多达5个连接:与google的5个连接。com,与oracle的另外5个连接。com等等。但是,无论与多少台主机通信,打开的连接总数都不能超过20