From 8f7a044d285ac320548fd5d4c5f79e4f1b8ad4b6 Mon Sep 17 00:00:00 2001 From: wangff Date: Fri, 19 Sep 2025 14:41:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:STOMP=E5=AE=9A=E4=B9=89=E5=BF=83=E8=B7=B30,?= =?UTF-8?q?10000?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/websocket/WebSocketConfig.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/coolstore-partner-web/src/main/java/com/cool/store/config/websocket/WebSocketConfig.java b/coolstore-partner-web/src/main/java/com/cool/store/config/websocket/WebSocketConfig.java index 77e5f8e56..79118b4b2 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/config/websocket/WebSocketConfig.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/config/websocket/WebSocketConfig.java @@ -1,14 +1,11 @@ package com.cool.store.config.websocket; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.messaging.Message; -import org.springframework.messaging.MessageChannel; -import org.springframework.messaging.simp.config.ChannelRegistration; import org.springframework.messaging.simp.config.MessageBrokerRegistry; -import org.springframework.messaging.simp.stomp.StompCommand; -import org.springframework.messaging.simp.stomp.StompHeaderAccessor; -import org.springframework.messaging.support.ChannelInterceptor; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; import org.springframework.web.socket.config.annotation.StompEndpointRegistry; import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer; @@ -36,11 +33,22 @@ public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Override public void configureMessageBroker(MessageBrokerRegistry registry) { // 配置消息代理 - registry.enableSimpleBroker("/topic", "/queue"); // 启用简单代理,用于广播和点对点消息 + registry.enableSimpleBroker("/topic", "/queue") // 启用简单代理,用于广播和点对点消息 + .setHeartbeatValue(new long[]{0, 10000}) + .setTaskScheduler(webSocketTaskScheduler()); registry.setApplicationDestinationPrefixes("/app"); // 设置应用程序端点前缀 // registry.setUserDestinationPrefix("/user"); } + @Bean + public TaskScheduler webSocketTaskScheduler() { + ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); + taskScheduler.setPoolSize(1); + taskScheduler.setThreadNamePrefix("websocket-heartbeat-"); + taskScheduler.initialize(); + return taskScheduler; + } + // @Override // public void configureClientInboundChannel(ChannelRegistration registration) { // registration.interceptors(new ChannelInterceptor() {