From b726dc97538b7d4ba71fd06c14161017dd67c2b7 Mon Sep 17 00:00:00 2001
From: xubinbin <1323875150@qq.com>
Date: 星期三, 10 五月 2023 15:38:22 +0800
Subject: [PATCH] "@schedule"是Spring框架提供的一种定时任务执行机制,默认情况下它是单线程执行,项目中多次使用fixedRate按指定频率执行任务(不管前面任务是否已经完成),在同时执行多个定时任务时可能会出现阻塞和性能问题,为了解决这种单线程瓶颈问题,将定时任务的执行机制改为支持多线程

---
 src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java |   45 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 42 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java b/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java
index 60f3303..de9613e 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java
@@ -1,10 +1,10 @@
 package com.genersoft.iot.vmp.service;
 
-import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSONObject;
 import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
-import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
+import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
 import com.github.pagehelper.PageInfo;
 
 public interface IStreamProxyService {
@@ -13,7 +13,7 @@
      * 淇濆瓨瑙嗛浠g悊
      * @param param
      */
-    WVPResult<StreamInfo> save(StreamProxyItem param);
+    StreamInfo save(StreamProxyItem param);
 
     /**
      * 娣诲姞瑙嗛浠g悊鍒皕lm
@@ -53,6 +53,16 @@
     boolean start(String app, String stream);
 
     /**
+     * 鏇存柊鐘舵��
+     * @param status 鐘舵��
+     * @param app
+     * @param stream
+     */
+    int updateStatus(boolean status, String app, String stream);
+
+
+
+    /**
      * 鍋滅敤鐢ㄨ棰戜唬鐞�
      * @param app
      * @param stream
@@ -71,4 +81,33 @@
      * @return
      */
     StreamProxyItem getStreamProxyByAppAndStream(String app, String streamId);
+
+
+    /**
+     * 鏂扮殑鑺傜偣鍔犲叆
+     * @param mediaServerId
+     * @return
+     */
+    void zlmServerOnline(String mediaServerId);
+
+    /**
+     * 鑺傜偣绂荤嚎
+     * @param mediaServerId
+     * @return
+     */
+    void zlmServerOffline(String mediaServerId);
+
+    void clean();
+
+    /**
+     * 鏇存柊浠g悊娴�
+     */
+    boolean updateStreamProxy(StreamProxyItem streamProxyItem);
+
+    /**
+     * 鑾峰彇缁熻淇℃伅
+     * @return
+     */
+    ResourceBaceInfo getOverview();
+
 }

--
Gitblit v1.8.0