修复启动时媒体信息写入异常

This commit is contained in:
lin 2026-01-25 09:13:11 +08:00
parent 588de2d5ec
commit b2772a0a1b
4 changed files with 9 additions and 5 deletions

View File

@ -397,6 +397,9 @@ public class DeviceServiceImpl implements IDeviceService, CommandLineRunner {
}
List<Device> realDeviceList = new ArrayList<>();
for (Device device : deviceList) {
if (device == null) {
continue;
}
log.info("[设备离线] device{} 心跳间隔: {},心跳超时次数: {} 上次心跳时间:{} 上次注册时间: {}", device.getDeviceId(),
device.getHeartBeatInterval(), device.getHeartBeatCount(), device.getKeepaliveTime(), device.getRegisterTime());
device.setOnLine(false);

View File

@ -1,12 +1,14 @@
package com.genersoft.iot.vmp.media.event.mediaServer;
import com.genersoft.iot.vmp.media.bean.MediaServer;
import lombok.Getter;
import org.springframework.context.ApplicationEvent;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Getter
public class MediaServerChangeEvent extends ApplicationEvent {
public MediaServerChangeEvent(Object source) {
@ -15,10 +17,6 @@ public class MediaServerChangeEvent extends ApplicationEvent {
private List<MediaServer> mediaServerItemList;
public List<MediaServer> getMediaServerItemList() {
return mediaServerItemList;
}
public void setMediaServerItemList(List<MediaServer> mediaServerItemList) {
this.mediaServerItemList = mediaServerItemList;
}

View File

@ -33,6 +33,7 @@ import com.genersoft.iot.vmp.utils.redis.RedisUtil;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import jakarta.validation.constraints.NotNull;
import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
import okhttp3.Request;

View File

@ -36,6 +36,7 @@ import java.util.concurrent.ConcurrentHashMap;
@Component
public class ZLMMediaServerStatusManager {
private final Map<Object, MediaServer> offlineZlmPrimaryMap = new ConcurrentHashMap<>();
private final Map<Object, MediaServer> offlineZlmsecondaryMap = new ConcurrentHashMap<>();
private final Map<Object, Long> offlineZlmTimeMap = new ConcurrentHashMap<>();
@ -80,7 +81,6 @@ public class ZLMMediaServerStatusManager {
log.info("[ZLM-添加待上线节点] ID{}", mediaServerItem.getId());
offlineZlmPrimaryMap.put(mediaServerItem.getId(), mediaServerItem);
offlineZlmTimeMap.put(mediaServerItem.getId(), System.currentTimeMillis());
execute();
}
}
@ -183,6 +183,8 @@ public class ZLMMediaServerStatusManager {
MediaServer mediaServerInDb = mediaServerService.getOne(mediaServer.getId());
if (mediaServerInDb == null || !mediaServerInDb.isStatus()) {
log.info("[ZLM-连接成功] ID{}, 地址: {}:{}", mediaServer.getId(), mediaServer.getIp(), mediaServer.getHttpPort());
offlineZlmPrimaryMap.remove(mediaServer.getId());
offlineZlmsecondaryMap.remove(mediaServer.getId());
if (config == null) {
ZLMResult<List<JSONObject>> mediaServerConfig = zlmresTfulUtils.getMediaServerConfig(mediaServer);
List<JSONObject> data = mediaServerConfig.getData();