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