@@ -36,19 +36,27 @@ public Http(Class<? extends BaseResponseResult> resultClass, boolean enableLog)
3636 this .enableLog = enableLog ;
3737 }
3838
39- private static Logger logger = LoggerFactory .getLogger (Http .class );
39+ private static final Logger logger = LoggerFactory .getLogger (Http .class );
4040
41- private static final String SDK_VERSION = "0.8.4.2 -release" ;
41+ private static final String SDK_VERSION = "0.8.4.3 -release" ;
4242
4343 private static final String USER_AGENT ;
4444
45+ private static CloseableHttpClient closeableHttpClient = HttpClients .createDefault ();
46+
4547 static {
4648 String runTimeVersion = System .getProperty ("java.runtime.version" );
4749 runTimeVersion = (runTimeVersion == null || runTimeVersion .isEmpty ()) ? "UnKnown RuntimeVersion" : runTimeVersion ;
4850
4951 USER_AGENT = String .format ("JAVA_%s/JAVA-SDK/%s" , runTimeVersion , SDK_VERSION );
5052 }
5153
54+ public static void setHttpClient (CloseableHttpClient httpClient ) {
55+ if (httpClient != null ) {
56+ closeableHttpClient = httpClient ;
57+ }
58+ }
59+
5260 public BaseResponseResult doHttp (HttpUriRequest request , UcloudHandler handler , Boolean async ) throws Exception {
5361 CloseableHttpResponse response = null ;
5462 BaseResponseResult responseResult = null ;
@@ -75,10 +83,8 @@ public BaseResponseResult doHttp(HttpUriRequest request, UcloudHandler handler,
7583 headerInfo );
7684 }
7785
78- // 创建HttpClient对象
79- final CloseableHttpClient client = HttpClients .createDefault ();
8086 try {
81- response = client .execute (request );
87+ response = closeableHttpClient .execute (request );
8288 if (response != null ) {
8389 // 正常响应
8490 String content = EntityUtils .toString (response .getEntity (), "UTF-8" );
@@ -112,7 +118,7 @@ public BaseResponseResult doHttp(HttpUriRequest request, UcloudHandler handler,
112118 }
113119 }
114120 try {
115- client .close ();
121+ closeableHttpClient .close ();
116122 } catch (IOException e ) {
117123 if (enableLog ) {
118124 logger .error ("httpClient close error:{}" , e .getMessage ());
0 commit comments