从配置文件中读取参数
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.conn.PoolingHttpClientConnectionManager;
|
||||
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.Configuration;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
||||
/**
|
||||
* Created by admin on 2017/2/6.
|
||||
*/
|
||||
@Configuration
|
||||
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")
|
||||
public PoolingHttpClientConnectionManager demo(){
|
||||
PoolingHttpClientConnectionManager httpClientConnectionManager = new PoolingHttpClientConnectionManager();
|
||||
httpClientConnectionManager.setMaxTotal(100);
|
||||
httpClientConnectionManager.setDefaultMaxPerRoute(20);
|
||||
httpClientConnectionManager.setMaxTotal(maxTotal);
|
||||
httpClientConnectionManager.setDefaultMaxPerRoute(defaultMaxPerRoute);
|
||||
return httpClientConnectionManager;
|
||||
}
|
||||
|
||||
|
@ -46,7 +60,10 @@ public class HttpClient {
|
|||
@Bean(name = "builder")
|
||||
public RequestConfig.Builder demo4(){
|
||||
RequestConfig.Builder builder = RequestConfig.custom();
|
||||
return builder.setConnectTimeout(1000).setSocketTimeout(10000).setStaleConnectionCheckEnabled(true);
|
||||
return builder.setConnectTimeout(connectTimeout)
|
||||
.setConnectionRequestTimeout(connectionRequestTimeout)
|
||||
.setSocketTimeout(socketTimeout)
|
||||
.setStaleConnectionCheckEnabled(staleConnectionCheckEnabled);
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
|
|
@ -15,10 +15,11 @@ import org.apache.http.impl.client.CloseableHttpClient;
|
|||
import org.apache.http.message.BasicNameValuePair;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
@Service
|
||||
@Component
|
||||
public class HttpAPIService {
|
||||
|
||||
@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