@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.
Spring-messaging (STOMP) @SendTo 与 @SendToUser的区别
最新推荐文章于 2024-09-06 09:02:52 发布
本文介绍了Spring框架中STOMP协议的两个关键注解@SendTo与@SendToUser的区别。@SendTo用于广播消息到指定目的地,所有订阅者都能接收;而@SendToUser则定向发送消息给特定用户,支持多会话广播配置。
1238





