Spring-messaging (STOMP) @SendTo 与 @SendToUser的区别

本文介绍了Spring框架中STOMP协议的两个关键注解@SendTo与@SendToUser的区别。@SendTo用于广播消息到指定目的地,所有订阅者都能接收;而@SendToUser则定向发送消息给特定用户,支持多会话广播配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@SendTo 与 @SendToUser 是Spring的STOMP协议中注解的标签。

@SendTo

会将接收到的消息发送到指定的路由目的地,所有订阅该消息的用户都能收到,属于广播。

@SendToUser

消息目的地有UserDestinationMessageHandler来处理,会将消息路由到发送者对应的目的地。默认该注解前缀为/user。如:用户订阅/user/hi ,在@SendToUser('/hi')查找目的地时,会将目的地的转化为/user/{name}/hi, 这个name就是principal的name值,该操作是认为用户登录并且授权认证,使用principal的name作为目的地标识。发给消息来源的那个用户。(就是谁请求给谁,不会发给所有用户,区分就是依照principal-name来区分的)。

此外该注解还有个broadcast属性,表明是否广播。就是当有同一个用户登录多个session时,是否都能收到。取值true/false.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值