http.defaultMaxPerRoute
时间: 2023-07-18 17:21:50 浏览: 69
`http.defaultMaxPerRoute` 是 Apache HttpClient 库中的一个配置项,用于设置每个路由的最大连接数。它控制着 HttpClient 实例可以为每个目标主机创建的最大并发连接数。当需要与多个目标主机进行通信时,连接池可以节省时间和资源,因为它可以重复使用已经建立的连接,而不是每次都重新创建一个新的连接。
默认情况下,`http.defaultMaxPerRoute` 的值为 2,表示每个目标主机最多只能有 2 个连接。如果需要增加或减少每个目标主机的最大连接数,可以将其设置为一个正整数。
例如,以下代码将 `http.defaultMaxPerRoute` 设置为 5:
```
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
HttpHost localhost = new HttpHost("localhost", 80);
cm.setMaxPerRoute(new HttpRoute(localhost), 5);
CloseableHttpClient httpClient = HttpClients.custom()
.setConnectionManager(cm)
.build();
```
这样就将每个目标主机的最大连接数设置为 5。当需要与目标主机通信时,HttpClient 将从连接池中获取一个可用连接,如果该主机的连接池中没有可用连接,则会等待一个连接可用。如果同时需要与多个目标主机进行通信,则可以为每个主机创建一个 HttpRoute 实例,并将其与连接池中的最大连接数配对。