From 764d04b497356ba6bcbb75fd42b51eca750f7223 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 29 五月 2024 15:02:51 +0800
Subject: [PATCH] 调整上级观看消息的发送

---
 src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGpsMsgListener.java |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGpsMsgListener.java b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGpsMsgListener.java
old mode 100644
new mode 100755
index c43a937..cea39b4
--- a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGpsMsgListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGpsMsgListener.java
@@ -27,8 +27,6 @@
 
     private final static Logger logger = LoggerFactory.getLogger(RedisGpsMsgListener.class);
 
-    private boolean taskQueueHandlerRun = false;
-
     @Autowired
     private IRedisCatchStorage redisCatchStorage;
 
@@ -44,17 +42,22 @@
 
     @Override
     public void onMessage(@NotNull Message message, byte[] bytes) {
+        boolean isEmpty = taskQueue.isEmpty();
         taskQueue.offer(message);
-        if (!taskQueueHandlerRun) {
-            taskQueueHandlerRun = true;
+        if (isEmpty) {
             taskExecutor.execute(() -> {
                 while (!taskQueue.isEmpty()) {
                     Message msg = taskQueue.poll();
-                    GPSMsgInfo gpsMsgInfo = JSON.parseObject(msg.getBody(), GPSMsgInfo.class);
-                    // 鍙槸鏀惧叆redis缂撳瓨璧锋潵
-                    redisCatchStorage.updateGpsMsgInfo(gpsMsgInfo);
+                    try {
+                        GPSMsgInfo gpsMsgInfo = JSON.parseObject(msg.getBody(), GPSMsgInfo.class);
+                        logger.info("[REDIS鐨勪綅缃彉鍖栭�氱煡], {}", JSON.toJSONString(gpsMsgInfo));
+                        // 鍙槸鏀惧叆redis缂撳瓨璧锋潵
+                        redisCatchStorage.updateGpsMsgInfo(gpsMsgInfo);
+                    }catch (Exception e) {
+                        logger.warn("[REDIS鐨勪綅缃彉鍖栭�氱煡] 鍙戠幇鏈鐞嗙殑寮傚父, \r\n{}", JSON.toJSONString(message));
+                        logger.error("[REDIS鐨勪綅缃彉鍖栭�氱煡] 寮傚父鍐呭锛� ", e);
+                    }
                 }
-                taskQueueHandlerRun = false;
             });
         }
     }

--
Gitblit v1.8.0