Commit b225b535102ca8d917a4a64765a04566211a7c0a

Authored by chenjialing
1 parent 298d104f

fixed--多节点管理zlm,wvp重启之后节点中的redis在线状态bug修复

src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
@@ -92,6 +92,7 @@ public class ZLMRunner implements CommandLineRunner { @@ -92,6 +92,7 @@ public class ZLMRunner implements CommandLineRunner {
92 92
93 // 获取所有的zlm, 并开启主动连接 93 // 获取所有的zlm, 并开启主动连接
94 List<MediaServerItem> all = mediaServerService.getAllFromDatabase(); 94 List<MediaServerItem> all = mediaServerService.getAllFromDatabase();
  95 + mediaServerService.updateVmServer(all);
95 if (all.size() == 0) { 96 if (all.size() == 0) {
96 all.add(mediaConfig.getMediaSerItem()); 97 all.add(mediaConfig.getMediaSerItem());
97 } 98 }
src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -42,6 +42,8 @@ public interface IMediaServerService { @@ -42,6 +42,8 @@ public interface IMediaServerService {
42 42
43 void setZLMConfig(MediaServerItem mediaServerItem, boolean restart); 43 void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
44 44
  45 + void updateVmServer(List<MediaServerItem> mediaServerItemList);
  46 +
45 SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId); 47 SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
46 48
47 SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean isPlayback); 49 SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean isPlayback);
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -46,8 +46,7 @@ import java.util.*; @@ -46,8 +46,7 @@ import java.util.*;
46 * 媒体服务器节点管理 46 * 媒体服务器节点管理
47 */ 47 */
48 @Service 48 @Service
49 -@Order(value=2)  
50 -public class MediaServerServiceImpl implements IMediaServerService, CommandLineRunner { 49 +public class MediaServerServiceImpl implements IMediaServerService {
51 50
52 private final static Logger logger = LoggerFactory.getLogger(MediaServerServiceImpl.class); 51 private final static Logger logger = LoggerFactory.getLogger(MediaServerServiceImpl.class);
53 52
@@ -102,9 +101,8 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR @@ -102,9 +101,8 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
102 * 初始化 101 * 初始化
103 */ 102 */
104 @Override 103 @Override
105 - public void run(String... args) throws Exception { 104 + public void updateVmServer(List<MediaServerItem> mediaServerItemList) {
106 logger.info("[缓存初始化] Media Server "); 105 logger.info("[缓存初始化] Media Server ");
107 - List<MediaServerItem> mediaServerItemList = mediaServerMapper.queryAll();  
108 for (MediaServerItem mediaServerItem : mediaServerItemList) { 106 for (MediaServerItem mediaServerItem : mediaServerItemList) {
109 if (StringUtils.isEmpty(mediaServerItem.getId())) { 107 if (StringUtils.isEmpty(mediaServerItem.getId())) {
110 continue; 108 continue;
@@ -224,7 +222,8 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR @@ -224,7 +222,8 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
224 String key = (String) mediaServerKey; 222 String key = (String) mediaServerKey;
225 MediaServerItem mediaServerItem = (MediaServerItem) redisUtil.get(key); 223 MediaServerItem mediaServerItem = (MediaServerItem) redisUtil.get(key);
226 // 检查状态 224 // 检查状态
227 - if (redisUtil.zScore(onlineKey, mediaServerItem.getId()) != null) { 225 + Double aDouble = redisUtil.zScore(onlineKey, mediaServerItem.getId());
  226 + if (aDouble != null) {
228 mediaServerItem.setStatus(true); 227 mediaServerItem.setStatus(true);
229 } 228 }
230 result.add(mediaServerItem); 229 result.add(mediaServerItem);