From 4eac6dcc944d25dd54b615c3fcf4398304e4cf3d Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 21 三月 2023 14:22:40 +0800
Subject: [PATCH] 修复启动偶现报错
---
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGpsMsgListener.java | 19 ++++++++++---------
1 files changed, 10 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
index b5d02a5..0c99707 100644
--- 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,20 @@
@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);
+ // 鍙槸鏀惧叆redis缂撳瓨璧锋潵
+ redisCatchStorage.updateGpsMsgInfo(gpsMsgInfo);
+ }catch (Exception e) {
+ logger.warn("[REDIS鐨凙LARM閫氱煡] 鍙戠幇鏈鐞嗙殑寮傚父, {}",e.getMessage());
+ }
}
- taskQueueHandlerRun = false;
});
}
}
--
Gitblit v1.8.0