chenjialing
2022-03-03 b225b535102ca8d917a4a64765a04566211a7c0a
fixed--多节点管理zlm,wvp重启之后节点中的redis在线状态bug修复
3个文件已修改
12 ■■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
@@ -92,6 +92,7 @@
        // 获取所有的zlm, 并开启主动连接
        List<MediaServerItem> all = mediaServerService.getAllFromDatabase();
        mediaServerService.updateVmServer(all);
        if (all.size() == 0) {
            all.add(mediaConfig.getMediaSerItem());
        }
src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -42,6 +42,8 @@
    void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
    void updateVmServer(List<MediaServerItem>  mediaServerItemList);
    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean isPlayback);
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -46,8 +46,7 @@
 * 媒体服务器节点管理
 */
@Service
@Order(value=2)
public class MediaServerServiceImpl implements IMediaServerService, CommandLineRunner {
public class MediaServerServiceImpl implements IMediaServerService {
    private final static Logger logger = LoggerFactory.getLogger(MediaServerServiceImpl.class);
@@ -102,9 +101,8 @@
     * 初始化
     */
    @Override
    public void run(String... args) throws Exception {
    public void updateVmServer(List<MediaServerItem>  mediaServerItemList) {
        logger.info("[缓存初始化] Media Server ");
        List<MediaServerItem> mediaServerItemList = mediaServerMapper.queryAll();
        for (MediaServerItem mediaServerItem : mediaServerItemList) {
            if (StringUtils.isEmpty(mediaServerItem.getId())) {
                continue;
@@ -224,7 +222,8 @@
            String key = (String) mediaServerKey;
            MediaServerItem mediaServerItem = (MediaServerItem) redisUtil.get(key);
            // 检查状态
            if (redisUtil.zScore(onlineKey, mediaServerItem.getId()) != null) {
            Double aDouble = redisUtil.zScore(onlineKey, mediaServerItem.getId());
            if (aDouble != null) {
                mediaServerItem.setStatus(true);
            }
            result.add(mediaServerItem);