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 92  
93 93 // 获取所有的zlm, 并开启主动连接
94 94 List<MediaServerItem> all = mediaServerService.getAllFromDatabase();
  95 + mediaServerService.updateVmServer(all);
95 96 if (all.size() == 0) {
96 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 42  
43 43 void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
44 44  
  45 + void updateVmServer(List<MediaServerItem> mediaServerItemList);
  46 +
45 47 SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
46 48  
47 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 46 * 媒体服务器节点管理
47 47 */
48 48 @Service
49   -@Order(value=2)
50   -public class MediaServerServiceImpl implements IMediaServerService, CommandLineRunner {
  49 +public class MediaServerServiceImpl implements IMediaServerService {
51 50  
52 51 private final static Logger logger = LoggerFactory.getLogger(MediaServerServiceImpl.class);
53 52  
... ... @@ -102,9 +101,8 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
102 101 * 初始化
103 102 */
104 103 @Override
105   - public void run(String... args) throws Exception {
  104 + public void updateVmServer(List<MediaServerItem> mediaServerItemList) {
106 105 logger.info("[缓存初始化] Media Server ");
107   - List<MediaServerItem> mediaServerItemList = mediaServerMapper.queryAll();
108 106 for (MediaServerItem mediaServerItem : mediaServerItemList) {
109 107 if (StringUtils.isEmpty(mediaServerItem.getId())) {
110 108 continue;
... ... @@ -224,7 +222,8 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
224 222 String key = (String) mediaServerKey;
225 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 227 mediaServerItem.setStatus(true);
229 228 }
230 229 result.add(mediaServerItem);
... ...