From 71fe60d885b09d53fcd4c58afcfccf18d24a94c2 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 11 四月 2024 15:34:56 +0800
Subject: [PATCH] 更新README
---
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGpsMsgListener.java | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 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 bb2f4ad..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,15 +27,13 @@
private final static Logger logger = LoggerFactory.getLogger(RedisGpsMsgListener.class);
- private boolean taskQueueHandlerRun = false;
-
@Autowired
private IRedisCatchStorage redisCatchStorage;
@Autowired
private IVideoManagerStorage storager;
- private final ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
+ private ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
@Qualifier("taskExecutor")
@Autowired
@@ -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