From 416dac382ef16bda8b90f62bf19d4e687848bc37 Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Mon, 25 Aug 2025 15:44:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A6=BB=E7=BA=BF=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=20#1944?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/vmp/gb28181/event/SipSubscribe.java | 8 ------- .../deviceStatus/DeviceStatusTaskRunner.java | 3 +++ .../deviceSubscribe/SubscribeTaskRunner.java | 2 ++ .../PlatformStatusTaskRunner.java | 23 ------------------- 4 files changed, 5 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java index bd966b6f6..1ef18ca43 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java @@ -50,14 +50,6 @@ public class SipSubscribe { } } - public void updateTimeout(String callId) { - SipEvent sipEvent = subscribes.get(callId); - if (sipEvent != null) { - delayQueue.remove(sipEvent); - delayQueue.offer(sipEvent); - } - } - public interface Event { void response(EventResult eventResult); } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/task/deviceStatus/DeviceStatusTaskRunner.java b/src/main/java/com/genersoft/iot/vmp/gb28181/task/deviceStatus/DeviceStatusTaskRunner.java index 46e19332b..a8e9c791c 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/task/deviceStatus/DeviceStatusTaskRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/task/deviceStatus/DeviceStatusTaskRunner.java @@ -94,7 +94,10 @@ public class DeviceStatusTaskRunner { return false; } log.debug("[更新状态任务时间] 编号: {}", key); + // 如果值更改时间,如果队列中有多个元素时 超时无法出发。目前采用移除再加入的方法 + delayQueue.remove(task); task.setDelayTime(expirationTime); + delayQueue.offer(task); String redisKey = String.format("%s_%s_%s", prefix, userSetting.getServerId(), task.getDeviceId()); Duration duration = Duration.ofSeconds((expirationTime - System.currentTimeMillis())/1000); redisTemplate.expire(redisKey, duration); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/task/deviceSubscribe/SubscribeTaskRunner.java b/src/main/java/com/genersoft/iot/vmp/gb28181/task/deviceSubscribe/SubscribeTaskRunner.java index 9e04abe87..7e70935f5 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/task/deviceSubscribe/SubscribeTaskRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/task/deviceSubscribe/SubscribeTaskRunner.java @@ -94,7 +94,9 @@ public class SubscribeTaskRunner{ return false; } log.info("[更新订阅任务时间] {}, 编号: {}", task.getName(), key); + delayQueue.remove(task); task.setDelayTime(expirationTime); + delayQueue.offer(task); String redisKey = String.format("%s_%s_%s", prefix, userSetting.getServerId(), task.getKey()); Duration duration = Duration.ofSeconds((expirationTime - System.currentTimeMillis())/1000); redisTemplate.expire(redisKey, duration); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/task/platformStatus/PlatformStatusTaskRunner.java b/src/main/java/com/genersoft/iot/vmp/gb28181/task/platformStatus/PlatformStatusTaskRunner.java index 4768fd964..a043d8507 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/task/platformStatus/PlatformStatusTaskRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/task/platformStatus/PlatformStatusTaskRunner.java @@ -108,19 +108,6 @@ public class PlatformStatusTaskRunner { return task.getSipTransactionInfo(); } - public boolean updateRegisterDelay(String platformServerId, long expirationTime) { - PlatformRegisterTask task = registerSubscribes.get(platformServerId); - if (task == null) { - return false; - } - log.info("[更新平台注册任务时间] 平台上级编号: {}", platformServerId); - task.setDelayTime(expirationTime); - String redisKey = String.format("%s_%s_%s", prefix, userSetting.getServerId(), platformServerId); - Duration duration = Duration.ofSeconds((expirationTime - System.currentTimeMillis())/1000); - redisTemplate.expire(redisKey, duration); - return true; - } - public boolean containsRegister(String platformServerId) { return registerSubscribes.containsKey(platformServerId); } @@ -152,16 +139,6 @@ public class PlatformStatusTaskRunner { return true; } - public boolean updateKeepAliveDelay(String platformServerId, long expirationTime) { - PlatformKeepaliveTask task = keepaliveSubscribes.get(platformServerId); - if (task == null) { - return false; - } - log.info("[更新平台心跳任务时间] 平台上级编号: {}", platformServerId); - task.setDelayTime(expirationTime); - return true; - } - public boolean containsKeepAlive(String platformServerId) { return keepaliveSubscribes.containsKey(platformServerId); }