From f07b9f6d18cd85123a01a0c11a76328427b30034 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 11 Oct 2024 23:27:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 websocketSerivce/src/main/java/org/example/websocket/config/AsyncConfiguration.java |    4 ++--
 websocketSerivce/src/main/java/org/example/websocket/server/WsServer.java           |   10 ++++++++++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/websocketSerivce/src/main/java/org/example/websocket/config/AsyncConfiguration.java b/websocketSerivce/src/main/java/org/example/websocket/config/AsyncConfiguration.java
index a764f03..cf1e9c1 100644
--- a/websocketSerivce/src/main/java/org/example/websocket/config/AsyncConfiguration.java
+++ b/websocketSerivce/src/main/java/org/example/websocket/config/AsyncConfiguration.java
@@ -17,8 +17,8 @@
     @Bean(name = "threadPoolTaskExecutor")
     public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
         ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
-        executor.setCorePoolSize(5);    //  核心线程数
-        executor.setMaxPoolSize(100);    //  最大线程数
+        executor.setCorePoolSize(100);    //  核心线程数
+        executor.setMaxPoolSize(200);    //  最大线程数
         executor.setQueueCapacity(300);    //  队列容量
         executor.setKeepAliveSeconds(60);    //  线程空闲时的存活时间为60秒
         executor.setThreadNamePrefix("MyThread-");    //  线程名称的前缀
diff --git a/websocketSerivce/src/main/java/org/example/websocket/server/WsServer.java b/websocketSerivce/src/main/java/org/example/websocket/server/WsServer.java
index 4b02b1a..17d4de6 100644
--- a/websocketSerivce/src/main/java/org/example/websocket/server/WsServer.java
+++ b/websocketSerivce/src/main/java/org/example/websocket/server/WsServer.java
@@ -17,10 +17,13 @@
 import org.example.util.RedisUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.context.annotation.Bean;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 
+import javax.annotation.PreDestroy;
 import javax.websocket.*;
 import javax.websocket.server.ServerEndpoint;
 import java.io.IOException;
@@ -91,6 +94,7 @@
     @OnError
     public void onError(Session session, @NonNull Throwable throwable) {
         onClose();
+        onlineCount.decrementAndGet();
         log.error("连接发生报错: {}", throwable.getMessage());
         throwable.printStackTrace();
     }
@@ -213,6 +217,12 @@
             }
         }
     }
+
+    @PreDestroy
+    public void shutdownExecutor() {
+        threadPoolTaskExecutor.shutdown();
+    }
+
     private static final Gson gson = new Gson();
     private String megFiltration(WsBo wsBo,String message) throws JsonProcessingException {
         List<MarketDataOut> redisValueMap = gson.fromJson(message, new TypeToken<List<MarketDataOut>>() {}.getType());

--
Gitblit v1.9.3