diff --git a/src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java b/src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java index 1c0e29b..f15be26 100644 --- a/src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java +++ b/src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java @@ -76,21 +76,29 @@ public class StompWebSocketServiceImpl extends ServiceImpl<StompMessageMapper, S messaging.convertAndSendToUser(user, topic, payload.getData(), headers); } - public void confirmMsg(String msg_id){ + public void confirmMsg(String msg_id) { removeById(msg_id); } /** * 将离线后的消息发送给用户 + * * @param user */ - public void sendOfflineMessageToUser(String user){ - LambdaQueryWrapper<StompMessage> queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(StompMessage::getUser, user); - List<StompMessage> msgList = list(queryWrapper); - for(StompMessage msg : msgList){ - messaging.convertAndSendToUser(user, msg.getTopic(), msg.getMsg()); - removeById(msg.getId()); + @Async + public void sendOfflineMessageToUser(String user) { + try { + Thread.sleep(2000); + LambdaQueryWrapper<StompMessage> queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(StompMessage::getUser, user); + List<StompMessage> msgList = list(queryWrapper); + for (StompMessage msg : msgList) { + messaging.convertAndSendToUser(user, msg.getTopic(), msg.getMsg()); + removeById(msg.getId()); + } + } catch (Exception e) { + System.out.println("===========================================================【end】===\n\n\n"); + System.out.println(" ======> e.getMessage() = " + e.getMessage()); } } }