我的RestTemplate一次只能维护两个连接。第三个请求将被阻止,直到返回以前的请求。
我认为RestTemplate bean配置有问题。以下是RestTemplate的配置:
TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;
SSLContext sslContext = new SSLContextBuilder()
.loadTrustMaterial(null, acceptingTrustStrategy)
.build();
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(sslContext);
CloseableHttpClient httpClient = HttpClients.custom()
.setSSLSocketFactory(socketFactory)
.build();
HttpComponentsClientHttpRequestFactory factory =
new HttpComponentsClientHttpRequestFactory(httpClient);
return new RestTemplate(factory);
我不知道为什么。请帮帮我。
1条答案
按热度按时间iqjalb3h1#
检查this Baeldung guide中显示的内容:
管理器可以打开的并发连接池的默认大小为每个路由或目标主机两个
但是您可以修改该属性:
其中:
setMaxTotal(int max)
-设置打开连接总数的最大值setDefaultMaxPerRoute(int max)
-设置每个路由的最大并发连接数,默认值为2。因此,您可以将
connManager
配置注入httpClient
: