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 | 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 | 80 | removeById(msg_id); |
81 | 81 | } |
82 | 82 | |
83 | 83 | /** |
84 | 84 | * 将离线后的消息发送给用户 |
85 | + * | |
85 | 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 | } |
... | ... |