HttpClientFactory.java
1.19 KB
package com.zhaoonline.common.es;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.conn.HttpClientConnectionManager;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
public class HttpClientFactory {
private static Integer SOCKET_TIMEOUT =10000;
private static Integer CONNECTION_TIMEOUT=4000;
public static final CloseableHttpClient newClient() {
final HttpClientBuilder builder = HttpClientBuilder.create();
builder.setConnectionManager(newConnectionManager());
final RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(SOCKET_TIMEOUT)
.setConnectTimeout(CONNECTION_TIMEOUT).build();
builder.setDefaultRequestConfig(requestConfig);
CloseableHttpClient httpclient = builder.build();
return httpclient;
}
public static final HttpClientConnectionManager newConnectionManager() {
// 默认支持http和https协议
final PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
cm.setMaxTotal(200);
cm.setDefaultMaxPerRoute(20);
cm.setValidateAfterInactivity(0);
return cm;
}
}