使用Spring Websocket在目标主题中设置principal.getName()

时间:2018-06-14 16:23:35

标签: spring-websocket

我使用的是Spring WebSocket,而且我不知道如何将邮件发送到包含用户名的特定分区。

即:

@MessageMapping("/getNotifications")
@SendTo("/topic/notifications")
public @ResponseBody List<NotificationResponse> getNotificationsWS(int size,
        SimpMessageHeaderAccessor headerAccessor, Principal principal) throws Exception {
    ActionResult<List<NotificationResponse>> notificationsAr;
    notificationsAr = this.listNotifications(size, principal);
    return notificationsAr.getResult();

}

我试图将消息发送到&#34; / topic / notifications / myUserName&#34;而不是&#34; / topic / notifications&#34;。这样,每个记录的用户都从他自己的分区中消耗。

我怎么做?

1 个答案:

答案 0 :(得分:1)

尝试注入SimpMessagingTemplate,然后可以simpMessagingTemplate.convertAndSendToUser(username, "/queue/reply", message);

看看Thanh post.