package com.yami.trading.common.http;
|
|
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.HttpClients;
|
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
|
import org.springframework.web.client.RestTemplate;
|
|
@Configuration
|
public class RestTemplateConfig {
|
|
@Bean
|
public RestTemplate restTemplate() {
|
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
|
connectionManager.setMaxTotal(100); // 设置最大连接数
|
connectionManager.setDefaultMaxPerRoute(20); // 设置每个路由的最大连接数
|
|
CloseableHttpClient httpClient = HttpClients.custom()
|
.setConnectionManager(connectionManager)
|
.build();
|
|
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
|
|
return new RestTemplate(requestFactory);
|
}
|
}
|