From 1de344674afd6bb35b51b165bbad76dbe6299b7e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 28 三月 2024 18:08:33 +0800
Subject: [PATCH] 使用冒号分隔redis的key

---
 src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGpsMsgListener.java |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 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 b5d02a5..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
@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.service.redisMsg;
 
-import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson2.JSON;
 import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
 import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
 import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
@@ -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