SpringRestTemplate-调整连接数
This commit is contained in:
@@ -2,12 +2,7 @@ package com.accompany.core.config;
|
||||
|
||||
import org.apache.http.HeaderElement;
|
||||
import org.apache.http.HeaderElementIterator;
|
||||
import org.apache.http.config.Registry;
|
||||
import org.apache.http.config.RegistryBuilder;
|
||||
import org.apache.http.conn.ConnectionKeepAliveStrategy;
|
||||
import org.apache.http.conn.socket.ConnectionSocketFactory;
|
||||
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
|
||||
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
import org.apache.http.impl.client.HttpClientBuilder;
|
||||
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
|
||||
@@ -27,12 +22,8 @@ public class SpringRestTemplateConfig {
|
||||
|
||||
@Bean(name = "httpClientConnectionManager")
|
||||
public PoolingHttpClientConnectionManager getHttpClientConnectionManager(){
|
||||
Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
|
||||
.register("http", PlainConnectionSocketFactory.getSocketFactory())
|
||||
.register("https", SSLConnectionSocketFactory.getSocketFactory())
|
||||
.build();
|
||||
|
||||
PoolingHttpClientConnectionManager httpClientConnectionManager = new PoolingHttpClientConnectionManager(registry);
|
||||
PoolingHttpClientConnectionManager httpClientConnectionManager = new PoolingHttpClientConnectionManager();
|
||||
//最大连接数
|
||||
httpClientConnectionManager.setMaxTotal(40);
|
||||
//并发数
|
||||
@@ -48,9 +39,7 @@ public class SpringRestTemplateConfig {
|
||||
|
||||
//HttpClientBuilder中的构造方法被protected修饰,所以这里不能直接使用new来实例化一个HttpClientBuilder,可以使用HttpClientBuilder提供的静态方法create()来获取HttpClientBuilder对象
|
||||
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
|
||||
|
||||
httpClientBuilder.setConnectionManager(httpClientConnectionManager);
|
||||
httpClientBuilder.disableAutomaticRetries();
|
||||
// 另外httpClientBuilder 可以设置长连接策略,dns解析器,代理,拦截器以及UserAgent等等。可根据业务需要进行实现
|
||||
httpClientBuilder.setKeepAliveStrategy(connectionKeepAliveStrategy());
|
||||
|
||||
@@ -78,7 +67,7 @@ public class SpringRestTemplateConfig {
|
||||
}
|
||||
}
|
||||
}
|
||||
return 6000L;
|
||||
return 10000L;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -100,8 +89,8 @@ public class SpringRestTemplateConfig {
|
||||
@Bean
|
||||
public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
|
||||
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
|
||||
factory.setConnectTimeout(5000); // 设置连接超时时间(毫秒)
|
||||
factory.setReadTimeout(5000); // 设置读取超时时间(毫秒)
|
||||
factory.setConnectTimeout(3000); // 设置连接超时时间(毫秒)
|
||||
factory.setReadTimeout(3000); // 设置读取超时时间(毫秒)
|
||||
return factory;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user