以下是用户向其他用户发送消息的控制器:
private final SimpMessagingTemplate messageTemplate;
@MessageMapping("/private")
public MessageResponse privateMessaging(MessagePayload payload, Principal principal) {
User sender = getUserFromPrincipal(principal);
User receiver = getReceiverSomehow(sender);
this.messageTemplate.convertAndSendToUser(receiver.getUsername, "messaging", payload);
}
假设目标前缀为 /messenger
,所以最终用户应该订阅 /messenger/{myUsername}/messaging
接收消息。
它的工作很好,但是,让我们假设我想通过电子邮件发送一条消息,如果用户没有订阅一个目的地,错过了一条消息。我不能使用stomp或websocket这样的事件 SessionSubscribeEvent
因为某种原因。有没有办法知道 this.messageTemplate.convertAndSendToUser
你能发个信息吗?
暂无答案!
目前还没有任何答案,快来回答吧!