优化zlm状态变化事件代码

pull/295/head
648540858 2021-12-15 11:07:59 +08:00
parent bc82662e90
commit 3962352ec3
3 changed files with 21 additions and 50 deletions

View File

@ -444,7 +444,6 @@ public class ZLMHttpHookListener {
} }
return new ResponseEntity<String>(ret.toString(),HttpStatus.OK); return new ResponseEntity<String>(ret.toString(),HttpStatus.OK);
} }
} }
/** /**

View File

@ -1,42 +0,0 @@
package com.genersoft.iot.vmp.media.zlm.event;
import com.genersoft.iot.vmp.conf.UserSetup;
import com.genersoft.iot.vmp.service.IMediaServerService;
import com.genersoft.iot.vmp.service.IStreamProxyService;
import com.genersoft.iot.vmp.service.IStreamPushService;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
import com.genersoft.iot.vmp.utils.redis.RedisUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
/**
*
*/
@Component
public class ZLMOfflineEventListener implements ApplicationListener<ZLMOfflineEvent> {
private final static Logger logger = LoggerFactory.getLogger(ZLMOfflineEventListener.class);
@Autowired
private IMediaServerService mediaServerService;
@Autowired
private IStreamPushService streamPushService;
@Autowired
private IStreamProxyService streamProxyService;
@Override
public void onApplicationEvent(ZLMOfflineEvent event) {
logger.info("ZLM离线事件触发ID" + event.getMediaServerId());
// 处理ZLM离线
mediaServerService.zlmServerOffline(event.getMediaServerId());
streamProxyService.zlmServerOffline(event.getMediaServerId());
streamPushService.zlmServerOffline(event.getMediaServerId());
// TODO 处理对国标的影响
}
}

View File

@ -1,16 +1,14 @@
package com.genersoft.iot.vmp.media.zlm.event; package com.genersoft.iot.vmp.media.zlm.event;
import com.genersoft.iot.vmp.conf.SipConfig;
import com.genersoft.iot.vmp.conf.UserSetup;
import com.genersoft.iot.vmp.service.IMediaServerService; import com.genersoft.iot.vmp.service.IMediaServerService;
import com.genersoft.iot.vmp.service.IStreamProxyService; import com.genersoft.iot.vmp.service.IStreamProxyService;
import com.genersoft.iot.vmp.service.IStreamPushService; import com.genersoft.iot.vmp.service.IStreamPushService;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
import com.genersoft.iot.vmp.utils.redis.RedisUtil;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -23,9 +21,9 @@ import java.text.SimpleDateFormat;
* @date: 202056 1:51:23 * @date: 202056 1:51:23
*/ */
@Component @Component
public class ZLMOnlineEventListener implements ApplicationListener<ZLMOnlineEvent> { public class ZLMStatusEventListener {
private final static Logger logger = LoggerFactory.getLogger(ZLMOnlineEventListener.class); private final static Logger logger = LoggerFactory.getLogger(ZLMStatusEventListener.class);
@Autowired @Autowired
private IStreamPushService streamPushService; private IStreamPushService streamPushService;
@ -33,9 +31,13 @@ public class ZLMOnlineEventListener implements ApplicationListener<ZLMOnlineEven
@Autowired @Autowired
private IStreamProxyService streamProxyService; private IStreamProxyService streamProxyService;
@Autowired
private IMediaServerService mediaServerService;
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override @Async
@EventListener
public void onApplicationEvent(ZLMOnlineEvent event) { public void onApplicationEvent(ZLMOnlineEvent event) {
logger.info("ZLM上线事件触发ID" + event.getMediaServerId()); logger.info("ZLM上线事件触发ID" + event.getMediaServerId());
@ -43,4 +45,16 @@ public class ZLMOnlineEventListener implements ApplicationListener<ZLMOnlineEven
streamProxyService.zlmServerOnline(event.getMediaServerId()); streamProxyService.zlmServerOnline(event.getMediaServerId());
} }
@Async
@EventListener
public void onApplicationEvent(ZLMOfflineEvent event) {
logger.info("ZLM离线事件触发ID" + event.getMediaServerId());
// 处理ZLM离线
mediaServerService.zlmServerOffline(event.getMediaServerId());
streamProxyService.zlmServerOffline(event.getMediaServerId());
streamPushService.zlmServerOffline(event.getMediaServerId());
// TODO 处理对国标的影响
}
} }