Commit 08d483567ed45a5a716a916e9048c67a6a38fd65
1 parent
a3c7c285
@Async注解实现延时发送
Showing
1 changed file
with
16 additions
and
8 deletions
src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java
@@ -76,21 +76,29 @@ public class StompWebSocketServiceImpl extends ServiceImpl<StompMessageMapper, S | @@ -76,21 +76,29 @@ public class StompWebSocketServiceImpl extends ServiceImpl<StompMessageMapper, S | ||
76 | messaging.convertAndSendToUser(user, topic, payload.getData(), headers); | 76 | messaging.convertAndSendToUser(user, topic, payload.getData(), headers); |
77 | } | 77 | } |
78 | 78 | ||
79 | - public void confirmMsg(String msg_id){ | 79 | + public void confirmMsg(String msg_id) { |
80 | removeById(msg_id); | 80 | removeById(msg_id); |
81 | } | 81 | } |
82 | 82 | ||
83 | /** | 83 | /** |
84 | * 将离线后的消息发送给用户 | 84 | * 将离线后的消息发送给用户 |
85 | + * | ||
85 | * @param user | 86 | * @param user |
86 | */ | 87 | */ |
87 | - public void sendOfflineMessageToUser(String user){ | ||
88 | - LambdaQueryWrapper<StompMessage> queryWrapper = Wrappers.lambdaQuery(); | ||
89 | - queryWrapper.eq(StompMessage::getUser, user); | ||
90 | - List<StompMessage> msgList = list(queryWrapper); | ||
91 | - for(StompMessage msg : msgList){ | ||
92 | - messaging.convertAndSendToUser(user, msg.getTopic(), msg.getMsg()); | ||
93 | - removeById(msg.getId()); | 88 | + @Async |
89 | + public void sendOfflineMessageToUser(String user) { | ||
90 | + try { | ||
91 | + Thread.sleep(2000); | ||
92 | + LambdaQueryWrapper<StompMessage> queryWrapper = Wrappers.lambdaQuery(); | ||
93 | + queryWrapper.eq(StompMessage::getUser, user); | ||
94 | + List<StompMessage> msgList = list(queryWrapper); | ||
95 | + for (StompMessage msg : msgList) { | ||
96 | + messaging.convertAndSendToUser(user, msg.getTopic(), msg.getMsg()); | ||
97 | + removeById(msg.getId()); | ||
98 | + } | ||
99 | + } catch (Exception e) { | ||
100 | + System.out.println("===========================================================【end】===\n\n\n"); | ||
101 | + System.out.println(" ======> e.getMessage() = " + e.getMessage()); | ||
94 | } | 102 | } |
95 | } | 103 | } |
96 | } | 104 | } |