From 177249c76aeea0b4bf8d8816d4994e3b445b45ce Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期四, 02 九月 2021 10:39:34 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/zzj' into zzj --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientFactory.java | 80 +++++++++++++++++----------------------- 1 files changed, 34 insertions(+), 46 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientFactory.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientFactory.java index b6d49eb..aef2799 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientFactory.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientFactory.java @@ -1,5 +1,9 @@ package com.panzhihua.common.utlis; -import com.panzhihua.common.constants.HttpConstant; + +import java.security.NoSuchAlgorithmException; + +import javax.net.ssl.SSLContext; + import org.apache.http.client.HttpClient; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.HttpPost; @@ -12,8 +16,8 @@ import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; -import javax.net.ssl.SSLContext; -import java.security.NoSuchAlgorithmException; +import com.panzhihua.common.constants.HttpConstant; + /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: @@ -24,60 +28,46 @@ private static HttpClientFactory instance = null; - private HttpClientFactory() - { - } + private HttpClientFactory() {} - public synchronized static HttpClientFactory getInstance() - { - if (instance == null) - { + public synchronized static HttpClientFactory getInstance() { + if (instance == null) { instance = new HttpClientFactory(); } return instance; } - - public synchronized HttpClient getHttpClient() - { + public synchronized HttpClient getHttpClient() { HttpClient httpClient = null; - if (HttpConstant.IS_KEEP_ALIVE) - { - //获取长连接 + if (HttpConstant.IS_KEEP_ALIVE) { + // 获取长连接 httpClient = new KeepAliveHttpClientBuilder().getKeepAliveHttpClient(); - } else - { + } else { // 获取短连接 httpClient = new HttpClientBuilder().getHttpClient(); } return httpClient; } - public HttpPost httpPost(String httpUrl) - { + public HttpPost httpPost(String httpUrl) { HttpPost httpPost = null; httpPost = new HttpPost(httpUrl); - if (HttpConstant.IS_KEEP_ALIVE) - { + if (HttpConstant.IS_KEEP_ALIVE) { // 设置为长连接,服务端判断有此参数就不关闭连接。 httpPost.setHeader("Connection", "Keep-Alive"); } return httpPost; } + private static class KeepAliveHttpClientBuilder { - - private static class KeepAliveHttpClientBuilder{ - - private static HttpClient httpClient; + private static HttpClient httpClient; /** * 获取http长连接 */ - private synchronized HttpClient getKeepAliveHttpClient() - { - if (httpClient == null) - { + private synchronized HttpClient getKeepAliveHttpClient() { + if (httpClient == null) { LayeredConnectionSocketFactory sslsf = null; try { sslsf = new SSLConnectionSocketFactory(SSLContext.getDefault()); @@ -85,44 +75,42 @@ e.printStackTrace(); } - Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder - .<ConnectionSocketFactory> create().register("https", sslsf) + Registry<ConnectionSocketFactory> socketFactoryRegistry = + RegistryBuilder.<ConnectionSocketFactory>create().register("https", sslsf) .register("http", new PlainConnectionSocketFactory()).build(); PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(socketFactoryRegistry); cm.setMaxTotal(HttpConstant.MAX_TOTAL); cm.setDefaultMaxPerRoute(HttpConstant.MAX_CONN_PER_ROUTE); - RequestConfig requestConfig = RequestConfig.custom() - .setConnectTimeout(HttpConstant.CONNECT_TIMEOUT) - .setSocketTimeout(HttpConstant.SOCKET_TIMEOUT).build(); + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(HttpConstant.CONNECT_TIMEOUT) + .setSocketTimeout(HttpConstant.SOCKET_TIMEOUT).build(); // 创建连接 - httpClient = HttpClients.custom().setDefaultRequestConfig(requestConfig).setConnectionManager(cm).build(); + httpClient = + HttpClients.custom().setDefaultRequestConfig(requestConfig).setConnectionManager(cm).build(); } return httpClient; } } + private static class HttpClientBuilder { + private HttpClient httpClient; - private static class HttpClientBuilder{ - private HttpClient httpClient; /** * 获取http短连接 */ - private synchronized HttpClient getHttpClient() - { - if(httpClient == null){ + private synchronized HttpClient getHttpClient() { + if (httpClient == null) { RequestConfig requestConfig = RequestConfig.custom() - // 设置请求超时时间 - .setConnectTimeout(HttpConstant.CONNECT_TIMEOUT) - // 设置响应超时时间 - .setSocketTimeout(HttpConstant.SOCKET_TIMEOUT).build(); + // 设置请求超时时间 + .setConnectTimeout(HttpConstant.CONNECT_TIMEOUT) + // 设置响应超时时间 + .setSocketTimeout(HttpConstant.SOCKET_TIMEOUT).build(); // 创建连接 httpClient = HttpClients.custom().setDefaultRequestConfig(requestConfig).build(); } return httpClient; } } - } -- Gitblit v1.7.1