优化内存溢出的问题
优化zlm集群默认zlm的存储 添加报警的存储以及相关接口 添加单元测试
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package com.genersoft.iot.vmp.service.impl;
|
||||
|
||||
import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm;
|
||||
import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
|
||||
import com.genersoft.iot.vmp.service.IDeviceAlarmService;
|
||||
import com.genersoft.iot.vmp.storager.dao.DeviceAlarmMapper;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class DeviceAlarmServiceImpl implements IDeviceAlarmService {
|
||||
|
||||
@Autowired
|
||||
private DeviceAlarmMapper deviceAlarmMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public PageInfo<DeviceAlarm> getAllAlarm(int page, int count, String deviceId, String alarmPriority, String alarmMethod, String alarmType, String startTime, String endTime) {
|
||||
PageHelper.startPage(page, count);
|
||||
List<DeviceAlarm> all = deviceAlarmMapper.query(deviceId, alarmPriority, alarmMethod, alarmType, startTime, endTime);
|
||||
return new PageInfo<>(all);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(DeviceAlarm deviceAlarm) {
|
||||
deviceAlarmMapper.add(deviceAlarm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearAlarmBeforeTime(Integer id, List<String> deviceIdList, String time) {
|
||||
deviceAlarmMapper.clearAlarmBeforeTime(id, deviceIdList, time);
|
||||
}
|
||||
}
|
||||
@@ -181,6 +181,12 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
|
||||
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 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
|
||||
if (mediaConfig.getRtspSSLPort() == 0) serverItemFromConfig.setRtspSSLPort(zlmServerConfig.getRtspSSlport());
|
||||
if (mediaConfig.getRtpProxyPort() == 0) serverItemFromConfig.setRtpProxyPort(zlmServerConfig.getRtpProxyPort());
|
||||
if (serverItem != null){
|
||||
// 可能是同一个zlm但id发生了变化
|
||||
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()));
|
||||
|
||||
Reference in New Issue
Block a user