From 724b288232e1614de1b789d0910fe3e3db765e52 Mon Sep 17 00:00:00 2001
From: 648540858 <18010473990@163.com>
Date: 星期三, 04 八月 2021 18:00:22 +0800
Subject: [PATCH] 优化内存溢出的问题 优化zlm集群默认zlm的存储 添加报警的存储以及相关接口 添加单元测试

---
 src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
index 07bddb8..d65b461 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -181,6 +181,12 @@
         return result;
     }
 
+
+    @Override
+    public List<MediaServerItem> getAllFromDatabase() {
+        return mediaServerMapper.queryAll();
+    }
+
     @Override
     public List<MediaServerItem> getAllOnline() {
         String key = VideoManagerConstants.MEDIA_SERVERS_ONLINE_PREFIX;
@@ -251,18 +257,16 @@
             if (mediaConfig.getRtspSSLPort() == 0) serverItemFromConfig.setRtspSSLPort(zlmServerConfig.getRtspSSlport());
             if (mediaConfig.getRtpProxyPort() == 0) serverItemFromConfig.setRtpProxyPort(zlmServerConfig.getRtpProxyPort());
             if (serverItem != null){
-                // 鍙兘鏄悓涓�涓獄lm浣唅d鍙戠敓浜嗗彉鍖�
-                if (!serverItem.getId().equals(zlmServerConfig.getGeneralMediaServerId())) {
-                    mediaServerMapper.delOne(serverItem.getId());
-                    redisUtil.del(VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItem.getId());
-
-                    String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId();
-                    serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain()));
-                    redisUtil.set(key, serverItemFromConfig);
-                    mediaServerMapper.add(serverItemFromConfig);
+                mediaServerMapper.delDefault();
+                mediaServerMapper.add(serverItemFromConfig);
+                String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId();
+                MediaServerItem serverItemInRedis =  (MediaServerItem)redisUtil.get(key);
+                if (serverItemInRedis != null) {
+                    serverItemFromConfig.setSsrcConfig(serverItemInRedis.getSsrcConfig());
                 }else {
-                    mediaServerMapper.update(serverItemFromConfig);
+                    serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain()));
                 }
+                redisUtil.set(key, serverItemFromConfig);
             }else {
                 String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId();
                 serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain()));

--
Gitblit v1.8.0