Selaa lähdekoodia

修改http工具

xueyiming 8 kuukautta sitten
vanhempi
commit
d86f32079d

+ 17 - 0
we-com-server/src/main/java/com/tzld/piaoquan/wecom/component/HttpPoolClient.java

@@ -0,0 +1,17 @@
+package com.tzld.piaoquan.wecom.component;
+
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+@Component
+public class HttpPoolClient {
+
+    @Autowired
+    private CloseableHttpClient httpClient;
+
+
+}

+ 40 - 0
we-com-server/src/main/java/com/tzld/piaoquan/wecom/config/HttpClientConfig.java

@@ -0,0 +1,40 @@
+package com.tzld.piaoquan.wecom.config;
+
+import com.tzld.piaoquan.wecom.utils.HttpPoolClient;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class HttpClientConfig {
+
+    int connectTimeout = 30000;
+    int socketTimeout = 30000;
+    int connectionWaitTimeout = 30000;
+
+    int retryCount = 5;
+
+    @Bean
+    public CloseableHttpClient httpClient() {
+
+        RequestConfig requestConfig = RequestConfig.custom()
+                .setConnectTimeout(connectTimeout)
+                .setSocketTimeout(socketTimeout)
+                .setConnectionRequestTimeout(connectionWaitTimeout)
+                .build();
+
+        PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
+        connectionManager.setMaxTotal(100); // 设置最大连接数
+        connectionManager.setDefaultMaxPerRoute(20); // 每个路由的最大连接数
+
+        return HttpClientBuilder.create()
+                .setDefaultRequestConfig(requestConfig)
+                .setConnectionManager(connectionManager)
+                .setRetryHandler(new DefaultHttpRequestRetryHandler(retryCount, false))
+                .build();
+    }
+}