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/storager/impl/VideoManagerStorageImpl.java | 21 +++++++++++----------
1 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
index 1665573..a3c5c6c 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -238,12 +238,15 @@
@Override
public boolean resetChannels(String deviceId, List<DeviceChannel> deviceChannelList) {
+ if (deviceChannelList == null) {
+ return false;
+ }
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
// 鏁版嵁鍘婚噸
List<DeviceChannel> channels = new ArrayList<>();
StringBuilder stringBuilder = new StringBuilder();
Map<String, Integer> subContMap = new HashMap<>();
- if (deviceChannelList.size() > 1) {
+ if (deviceChannelList != null && deviceChannelList.size() > 1) {
// 鏁版嵁鍘婚噸
Set<String> gbIdSet = new HashSet<>();
for (DeviceChannel deviceChannel : deviceChannelList) {
@@ -274,7 +277,7 @@
channels = deviceChannelList;
}
if (stringBuilder.length() > 0) {
- logger.debug("[鐩綍鏌ヨ]鏀跺埌鐨勬暟鎹瓨鍦ㄩ噸澶嶏細 {}" , stringBuilder);
+ logger.info("[鐩綍鏌ヨ]鏀跺埌鐨勬暟鎹瓨鍦ㄩ噸澶嶏細 {}" , stringBuilder);
}
try {
int cleanChannelsResult = deviceChannelMapper.cleanChannelsNotInList(deviceId, channels);
@@ -300,6 +303,7 @@
dataSourceTransactionManager.commit(transactionStatus); //鎵嬪姩鎻愪氦
return true;
}catch (Exception e) {
+ e.printStackTrace();
dataSourceTransactionManager.rollback(transactionStatus);
return false;
}
@@ -415,10 +419,9 @@
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
boolean result = false;
try {
- if (platformChannelMapper.delChannelForDeviceId(deviceId) <0 // 鍒犻櫎涓庡浗鏍囧钩鍙扮殑鍏宠仈
- || deviceChannelMapper.cleanChannelsByDeviceId(deviceId) < 0 // 鍒犻櫎浠栫殑閫氶亾
- || deviceMapper.del(deviceId) < 0 // 绉婚櫎璁惧淇℃伅
- ) {
+ platformChannelMapper.delChannelForDeviceId(deviceId);
+ deviceChannelMapper.cleanChannelsByDeviceId(deviceId);
+ if ( deviceMapper.del(deviceId) < 0 ) {
//浜嬪姟鍥炴粴
dataSourceTransactionManager.rollback(transactionStatus);
}
@@ -445,8 +448,6 @@
device.setOnline(1);
logger.info("鏇存柊璁惧鍦ㄧ嚎: " + deviceId);
redisCatchStorage.updateDevice(device);
- List<DeviceChannel> deviceChannelList = deviceChannelMapper.queryOnlineChannelsByDeviceId(deviceId);
- eventPublisher.catalogEventPublish(null, deviceChannelList, CatalogEvent.ON);
return deviceMapper.update(device) > 0;
}
@@ -911,8 +912,8 @@
}
@Override
- public List<StreamProxyItem> getStreamProxyListForEnableInMediaServer(String id, boolean enable, boolean status) {
- return streamProxyMapper.selectForEnableInMediaServer(id, enable, status);
+ public List<StreamProxyItem> getStreamProxyListForEnableInMediaServer(String id, boolean enable) {
+ return streamProxyMapper.selectForEnableInMediaServer(id, enable);
}
--
Gitblit v1.8.0