![](/img/trans.png)
[英]Spring RestTemplate. How to parse server XML response to POJOs
[英]RestTemplate. How to increase max tcp connections?
我有 RestTemplate:
@Bean(name = "restTemplateBean")
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder
.interceptors(new HttpRequestInterceptor())
.uriTemplateHandler(new DefaultUriBuilderFactory((host + ":" + port)))
.build();
}
當我多次調用 RestTemplate(例如發布請求)時,它最多創建 5 ~ 10 TCP 個連接。 如何增加 RestTemplate 創建的最大連接數?
您可以利用 Apache 的 HttpClient 的連接池。 使用 HttpClientBuilder 並增加maxConnPerRoute和maxConnTotal以達到您正在尋找的性能:
@Bean
public HttpClientBuilder httpClientBuilder() {
return HttpClients.custom()
.setMaxConnPerRoute(PER_ROUTE)
.setMaxConnTotal(TOTAL);
}
@Bean
public RestTemplate restTemplate(HttpClientBuilder httpClientBuilder) {
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
requestFactory.setHttpClient(httpClientBuilder.build());
return new RestTemplate(requestFactory);
}
maxConnPerRoute 限制單個 IP:port 可以建立的連接數,maxTotal 限制可以打開的總連接數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.