add default httpparams

This commit is contained in:
jinyu 2016-12-03 16:29:05 +08:00
parent 102f37cc77
commit 3692c87ec6
10 changed files with 46 additions and 23 deletions

View File

@ -33,6 +33,7 @@ public abstract class HttpClientFactory {
* 默认的HttpClient
*/
private static volatile HttpClientFactory defaultFactory = newDefaultFactory();
private static volatile HttpParams defaultParams;
/**
* NettyHttpClient -> ApacheHttpClient(HttpComponent3&4) ->
@ -85,24 +86,49 @@ public abstract class HttpClientFactory {
}
/**
* 获取HttpClient实例
* 获取默认的HttpParams
*
* @return
*/
public static HttpClient getInstance() {
return getDefaultFactory().newInstance();
public static HttpParams getDefaultParams() {
return defaultParams;
}
/**
* Resolve the Http Parameter
*
* @param params
* 请求参数
*/
public static void setDefaultParams(HttpParams params) {
if (params == null) {
throw new IllegalArgumentException("'params' must not be empty");
}
HttpClientFactory.defaultParams = params;
}
/**
* 获取HttpClient实例
*
* @param params Http参数
* @return
*/
public static HttpClient getInstance() {
return getInstance(HttpClientFactory.defaultParams);
}
/**
* 获取HttpClient实例
*
* @param params
* Http参数
*
* @return HttpClinet实例
*/
public static HttpClient getInstance(HttpParams params) {
HttpClientFactory clientFactory = getDefaultFactory();
clientFactory.setDefaultParams(params);
if (params != null) {
clientFactory.resolveHttpParams(params);
}
return clientFactory.newInstance();
}
@ -112,20 +138,20 @@ public abstract class HttpClientFactory {
* @param params
* 请求参数
*/
public void setDefaultParams(HttpParams params) {
public void resolveHttpParams(HttpParams params){
if (params == null) {
throw new IllegalArgumentException("'params' must not be empty");
}
resolveHttpParams(params);
resolveHttpParams0(params);
}
/**
* Resolve the Http Parameter
*
* @param params
* 请求参数
*/
protected abstract void resolveHttpParams(HttpParams params);
protected abstract void resolveHttpParams0(HttpParams params);
/**
* 获取HttpClient实例

View File

@ -18,7 +18,7 @@ public class SimpleHttpClientFactory extends HttpClientFactory {
private HttpParams params;
@Override
protected void resolveHttpParams(HttpParams params) {
protected void resolveHttpParams0(HttpParams params) {
this.params = params;
}

View File

@ -41,7 +41,7 @@ public class HttpComponent3Factory extends HttpClientFactory {
* Resolve Parameter
*/
@Override
protected void resolveHttpParams(HttpParams params) {
protected void resolveHttpParams0(HttpParams params) {
if (params.getProxy() != null) {
InetSocketAddress socketAddress = (InetSocketAddress) params
.getProxy().address();

View File

@ -41,7 +41,7 @@ public class HttpComponent4Factory extends HttpClientFactory {
}
@Override
protected void resolveHttpParams(HttpParams params) {
httpComponentFactory.setDefaultParams(params);
protected void resolveHttpParams0(HttpParams params) {
httpComponentFactory.resolveHttpParams(params);
}
}

View File

@ -39,10 +39,7 @@ public class HttpComponent4_1Factory extends HttpClientFactory {
}
@Override
protected void resolveHttpParams(HttpParams params) {
if (params == null) {
throw new IllegalArgumentException("'params' must not be empty");
}
protected void resolveHttpParams0(HttpParams params) {
if (params.getProxy() != null) {
InetSocketAddress socketAddress = (InetSocketAddress) params
.getProxy().address();

View File

@ -42,7 +42,7 @@ public class HttpComponent4_2Factory extends HttpClientFactory {
}
@Override
public void resolveHttpParams(HttpParams params) {
protected void resolveHttpParams0(HttpParams params) {
clientBuilder.setDefaultRequestConfig(RequestConfig.custom()
.setConnectTimeout(params.getConnectTimeout())
.setConnectionRequestTimeout(params.getReadTimeout()).build());

View File

@ -46,7 +46,7 @@ public class Netty4HttpClientFactory extends HttpClientFactory {
}
@Override
protected void resolveHttpParams(HttpParams params) {
protected void resolveHttpParams0(HttpParams params) {
this.params = params;
}

View File

@ -32,7 +32,7 @@ public class OkHttpClient2Factory extends HttpClientFactory {
}
@Override
protected void resolveHttpParams(HttpParams params) {
protected void resolveHttpParams0(HttpParams params) {
okClient.setConnectTimeout(params.getConnectTimeout(),
TimeUnit.MILLISECONDS);
okClient.setReadTimeout(params.getReadTimeout(), TimeUnit.MILLISECONDS);

View File

@ -39,7 +39,7 @@ public class OkHttpClient3Factory extends HttpClientFactory {
*
* */
@Override
protected void resolveHttpParams(HttpParams params) {
protected void resolveHttpParams0(HttpParams params) {
clientBuilder.connectTimeout(params.getConnectTimeout(),
TimeUnit.MILLISECONDS);
clientBuilder.readTimeout(params.getReadTimeout(),

View File

@ -27,8 +27,8 @@ public class OkHttpClientFactory extends HttpClientFactory {
}
@Override
protected void resolveHttpParams(HttpParams params) {
okHttpClientFactory.setDefaultParams(params);
protected void resolveHttpParams0(HttpParams params) {
okHttpClientFactory.resolveHttpParams(params);
}
@Override