From f324b50e61aa0889a8015fca34b7363f56864e7b Mon Sep 17 00:00:00 2001 From: yangzongjia Date: Sun, 11 Jun 2023 20:48:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E6=88=90webSocket?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/config/WebSocketStompConfig.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/config/WebSocketStompConfig.java diff --git a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/config/WebSocketStompConfig.java b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/config/WebSocketStompConfig.java new file mode 100644 index 0000000..1bf7ebd --- /dev/null +++ b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/config/WebSocketStompConfig.java @@ -0,0 +1,42 @@ +package com.yxt.supervise.monitor.biz.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.messaging.simp.config.MessageBrokerRegistry; +import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; +import org.springframework.web.socket.config.annotation.StompEndpointRegistry; +import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer; + +/** + * @author Exrickx + */ +@Configuration +@EnableWebSocketMessageBroker +public class WebSocketStompConfig implements WebSocketMessageBrokerConfigurer { + + /** + * 注册stomp端点 + * + * @param registry + */ + @Override + public void registerStompEndpoints(StompEndpointRegistry registry) { + // 允许使用socketJs方式访问 即可通过http://IP:PORT/xboot/ws来和服务端websocket连接 + registry.addEndpoint("/monitor/ws").setAllowedOrigins("*").withSockJS(); + } + + /** + * 配置信息代理 + * + * @param registry + */ + @Override + public void configureMessageBroker(MessageBrokerRegistry registry) { + + // 订阅Broker名称 user点对点 topic广播即群发 + registry.enableSimpleBroker("/user", "/topic"); + // 全局(客户端)使用的消息前缀 + registry.setApplicationDestinationPrefixes("/app"); + // 点对点使用的前缀 无需配置 默认/user + registry.setUserDestinationPrefix("/user"); + } +}