From b8bb9c1b74ab5e94125479b880e6be376f34463d Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期一, 18 四月 2022 12:42:58 +0800
Subject: [PATCH] 修复更新通道结束后释放慢的问题
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java | 32 ++++++++++++++++----------------
1 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java
index 979849e..da1088a 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java
@@ -149,7 +149,6 @@
subscribeInfo.setDialog(dialog);
}
String sn = XmlUtil.getText(rootElement, "SN");
- String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetting.getServerId() + "_MobilePosition_" + platformId;
logger.info("[鍥炲 绉诲姩浣嶇疆璁㈤槄]: {}", platformId);
StringBuilder resultXml = new StringBuilder(200);
resultXml.append("<?xml version=\"1.0\" ?>\r\n")
@@ -161,23 +160,25 @@
.append("</Response>\r\n");
if (subscribeInfo.getExpires() > 0) {
-
- if (subscribeHolder.getMobilePositionSubscribe(platformId) == null ) {
- String interval = XmlUtil.getText(rootElement, "Interval"); // GPS涓婃姤鏃堕棿闂撮殧
- subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
- dynamicTask.startCron(key, new MobilePositionSubscribeHandlerTask(redisCatchStorage, sipCommanderForPlatform, storager, platformId, sn, key, subscribeHolder), Integer.parseInt(interval));
+ String interval = XmlUtil.getText(rootElement, "Interval"); // GPS涓婃姤鏃堕棿闂撮殧
+ if (interval == null) {
+ subscribeInfo.setGpsInterval(5);
}else {
- if (subscribeHolder.getMobilePositionSubscribe(platformId).getDialog() != null
- && subscribeHolder.getMobilePositionSubscribe(platformId).getDialog().getState() != null
- && !subscribeHolder.getMobilePositionSubscribe(platformId).getDialog().getState().equals(DialogState.CONFIRMED)) {
- dynamicTask.stop(key);
- String interval = XmlUtil.getText(rootElement, "Interval"); // GPS涓婃姤鏃堕棿闂撮殧
- subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
- dynamicTask.startCron(key, new MobilePositionSubscribeHandlerTask(redisCatchStorage, sipCommanderForPlatform, storager, platformId, sn, key, subscribeHolder), Integer.parseInt(interval));
- }
+ subscribeInfo.setGpsInterval(Integer.parseInt(interval));
}
+
+ subscribeInfo.setSn(sn);
+ subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
+// if (subscribeHolder.getMobilePositionSubscribe(platformId) == null ) {
+// subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
+// }else {
+// if (subscribeHolder.getMobilePositionSubscribe(platformId).getDialog() != null
+// && subscribeHolder.getMobilePositionSubscribe(platformId).getDialog().getState() != null
+// && !subscribeHolder.getMobilePositionSubscribe(platformId).getDialog().getState().equals(DialogState.CONFIRMED)) {
+// subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
+// }
+// }
}else if (subscribeInfo.getExpires() == 0) {
- dynamicTask.stop(key);
subscribeHolder.removeMobilePositionSubscribe(platformId);
}
@@ -211,7 +212,6 @@
subscribeInfo.setDialog(dialog);
}
String sn = XmlUtil.getText(rootElement, "SN");
- String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetting.getServerId() + "_Catalog_" + platformId;
logger.info("[鍥炲 鐩綍璁㈤槄]: {}/{}", platformId, deviceID);
StringBuilder resultXml = new StringBuilder(200);
resultXml.append("<?xml version=\"1.0\" ?>\r\n")
--
Gitblit v1.8.0