From 08d483567ed45a5a716a916e9048c67a6a38fd65 Mon Sep 17 00:00:00 2001
From: zhoufeng <27208084@qq.com>
Date: Tue, 11 May 2021 17:19:04 +0800
Subject: [PATCH] @Async注解实现延时发送

---
 src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

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());
         }
     }
 }
--
libgit2 0.22.2