From 3496700a5ba18be8ca0590a79e21a867782d1ea9 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Mon, 01 Jun 2026 16:56:57 +0800
Subject: [PATCH] 优化

---
 ard-modules/ard-modules-work/src/main/java/com/ard/work/config/AsyncConfiguration.java |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/ard-modules/ard-modules-work/src/main/java/com/ard/work/config/AsyncConfiguration.java b/ard-modules/ard-modules-work/src/main/java/com/ard/work/config/AsyncConfiguration.java
index 896ac64..cdc6717 100644
--- a/ard-modules/ard-modules-work/src/main/java/com/ard/work/config/AsyncConfiguration.java
+++ b/ard-modules/ard-modules-work/src/main/java/com/ard/work/config/AsyncConfiguration.java
@@ -64,4 +64,21 @@
         executor.initialize();
         return executor;
     }
+
+    /**
+     * WebSocket推送线程池(避免慢客户端阻塞调度线程)
+     * DiscardOldestPolicy: 推送任务允许丢弃旧消息以保证实时性
+     */
+    @Bean("wsPushExecutor")
+    public ThreadPoolTaskExecutor wsPushExecutor() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        executor.setCorePoolSize(4);
+        executor.setMaxPoolSize(16);
+        executor.setQueueCapacity(2000);
+        executor.setKeepAliveSeconds(60);
+        executor.setThreadNamePrefix("ws-push-");
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardOldestPolicy());
+        executor.initialize();
+        return executor;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3