SpringBoot3 Stomp用户连接断开事件广播的正确订阅路径问询
问题解答:Stomp广播消息订阅路径错误问题
- 你配置的消息代理前缀包含
/connect,当通过SimpMessagingTemplate向/connect发送广播消息时,客户端直接订阅/connect就能接收,不需要加/user/前缀。 /user/是Spring STOMP用于单用户专属消息推送的默认前缀(比如使用@SendToUser注解时,框架会自动给目标路径添加该前缀),而你这里是发送到全局广播的消息代理路径,因此不该附加这个前缀。- 确认你的消息代理配置中
/connect已正确注册为代理前缀,示例配置代码如下:
@Configuration @EnableWebSocketMessageBroker public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Override public void configureMessageBroker(MessageBrokerRegistry config) { config.enableSimpleBroker("/chat", "/connect"); // 注册两个广播代理前缀 config.setApplicationDestinationPrefixes("/app"); } }
- 客户端订阅示例(JavaScript):
stompClient.subscribe('/connect', function(message) { console.log('收到连接/断开通知:', message.body); });
内容的提问来源于stack exchange,提问作者Sandah Aung
相关产品推荐
相关产品推荐

