从配置文件中读取参数
This commit is contained in:
parent
0939002d87
commit
84011c846b
|
@ -5,25 +5,39 @@ import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
import org.apache.http.impl.client.HttpClientBuilder;
|
import org.apache.http.impl.client.HttpClientBuilder;
|
||||||
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
|
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by admin on 2017/2/6.
|
* Created by admin on 2017/2/6.
|
||||||
*/
|
*/
|
||||||
@Configuration
|
@Configuration
|
||||||
public class HttpClient {
|
public class HttpClient {
|
||||||
|
|
||||||
|
@Value("${http.maxTotal}")
|
||||||
|
private Integer maxTotal;
|
||||||
|
|
||||||
|
@Value("${http.defaultMaxPerRoute}")
|
||||||
|
private Integer defaultMaxPerRoute;
|
||||||
|
|
||||||
|
@Value("${http.connectTimeout}")
|
||||||
|
private Integer connectTimeout;
|
||||||
|
|
||||||
|
@Value("${http.connectionRequestTimeout}")
|
||||||
|
private Integer connectionRequestTimeout;
|
||||||
|
|
||||||
|
@Value("${http.socketTimeout}")
|
||||||
|
private Integer socketTimeout;
|
||||||
|
|
||||||
|
@Value("${http.staleConnectionCheckEnabled}")
|
||||||
|
private boolean staleConnectionCheckEnabled;
|
||||||
|
|
||||||
@Bean(name = "httpClientConnectionManager")
|
@Bean(name = "httpClientConnectionManager")
|
||||||
public PoolingHttpClientConnectionManager demo(){
|
public PoolingHttpClientConnectionManager demo(){
|
||||||
PoolingHttpClientConnectionManager httpClientConnectionManager = new PoolingHttpClientConnectionManager();
|
PoolingHttpClientConnectionManager httpClientConnectionManager = new PoolingHttpClientConnectionManager();
|
||||||
httpClientConnectionManager.setMaxTotal(100);
|
httpClientConnectionManager.setMaxTotal(maxTotal);
|
||||||
httpClientConnectionManager.setDefaultMaxPerRoute(20);
|
httpClientConnectionManager.setDefaultMaxPerRoute(defaultMaxPerRoute);
|
||||||
return httpClientConnectionManager;
|
return httpClientConnectionManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,7 +60,10 @@ public class HttpClient {
|
||||||
@Bean(name = "builder")
|
@Bean(name = "builder")
|
||||||
public RequestConfig.Builder demo4(){
|
public RequestConfig.Builder demo4(){
|
||||||
RequestConfig.Builder builder = RequestConfig.custom();
|
RequestConfig.Builder builder = RequestConfig.custom();
|
||||||
return builder.setConnectTimeout(1000).setSocketTimeout(10000).setStaleConnectionCheckEnabled(true);
|
return builder.setConnectTimeout(connectTimeout)
|
||||||
|
.setConnectionRequestTimeout(connectionRequestTimeout)
|
||||||
|
.setSocketTimeout(socketTimeout)
|
||||||
|
.setStaleConnectionCheckEnabled(staleConnectionCheckEnabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
|
|
|
@ -15,10 +15,11 @@ import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
import org.apache.http.util.EntityUtils;
|
import org.apache.http.util.EntityUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|
||||||
@Service
|
@Component
|
||||||
public class HttpAPIService {
|
public class HttpAPIService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
#最大连接数
|
||||||
|
http.maxTotal = 100
|
||||||
|
#并发数
|
||||||
|
http.defaultMaxPerRoute = 20
|
||||||
|
#创建连接的最长时间
|
||||||
|
http.connectTimeout=1000
|
||||||
|
#从连接池中获取到连接的最长时间
|
||||||
|
http.connectionRequestTimeout=500
|
||||||
|
#数据传输的最长时间
|
||||||
|
http.socketTimeout=10000
|
||||||
|
#提交请求前测试连接是否可用
|
||||||
|
http.staleConnectionCheckEnabled=true
|
Loading…
Reference in New Issue