不需要创建特定的目的地,从Spring
4.1开始就已经完成(请参阅SPR-11309)。
给定用户订阅
/user/queue/something队列,您可以使用以下命令将消息发送到单个会话:
如SimpMessageSendingOperations Javadoc中所述,由于您的用户名实际上是一个sessionId,因此您还必须将其设置为标头,否则
DefaultUserDestinationResolver将无法路由该消息并将其丢弃。
SimpMessageHeaderAccessor headerAccessor = SimpMessageHeaderAccessor .create(SimpMessageType.MESSAGE);headerAccessor.setSessionId(sessionId);headerAccessor.setLeaveMutable(true);messagingTemplate.convertAndSendToUser(sessionId,"/queue/something", payload, headerAccessor.getMessageHeaders());
您不需要为此认证用户。



