Browse Source

Merge remote-tracking branch 'origin/master'

user5 6 months ago
parent
commit
ca13e5e0dd

+ 21 - 1
src/main/java/com/jeeplus/modules/centerservice/config/RestTemplateConfig.java

@@ -1,21 +1,41 @@
 package com.jeeplus.modules.centerservice.config;
 
+import org.apache.http.client.HttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.http.MediaType;
 import org.springframework.http.client.ClientHttpRequestFactory;
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.http.client.SimpleClientHttpRequestFactory;
 import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 
 @Configuration
 public class RestTemplateConfig {
 
     @Bean
-    public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
+    public RestTemplate restTemplate() {
+        // 配置连接池
+        PoolingHttpClientConnectionManager poolingConnManager = new PoolingHttpClientConnectionManager();
+        poolingConnManager.setMaxTotal(100); // 设置最大连接数
+        poolingConnManager.setDefaultMaxPerRoute(20); // 设置每个路由的最大连接数(即每个主机的最大连接数)
+
+        // 配置 HttpClient,使用连接池
+        HttpClient httpClient = HttpClients.custom()
+                .setConnectionManager(poolingConnManager)
+                .build();
+
+        // 创建 HttpComponentsClientHttpRequestFactory,结合 HttpClient 和 RestTemplate
+        HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);
+
         RestTemplate restTemplate = new RestTemplate(factory);
         restTemplate.getMessageConverters().add(new WxMappingJackson2HttpMessageConverter());
         return restTemplate;

+ 1 - 1
src/main/java/com/jeeplus/modules/szCenterservice/utils/SzRestTemplateService.java

@@ -70,7 +70,7 @@ public class SzRestTemplateService {
      * @return
      */
     public Object getCPAMultithreading(String path, String token, Map<String, Object> paramMap, User userDTO) {
-        return httpRequestMultithreading(HttpMethod.GET, token, paramMap, null, Global.getConfig("SZOA_PATH"), path,"sz",userDTO);
+        return httpRequestMultithreading(HttpMethod.POST, token, paramMap, null, Global.getConfig("SZOA_PATH"), path,"sz",userDTO);
     }
 
     /**