java—在发送消息时检测用户是否订阅了目标

qrjkbowd  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(226)

以下是用户向其他用户发送消息的控制器:

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 你能发个信息吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题