From c21d973977a9f1d00d26179de764687ddd0ec56c Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 24 四月 2024 14:59:41 +0800
Subject: [PATCH] 修复收到catalog消息是更新导致是否有音频的设置失效的BUG

---
 src/main/java/com/genersoft/iot/vmp/conf/redis/RedisRpcConfig.java |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisRpcConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisRpcConfig.java
index 545fdc1..661e370 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisRpcConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisRpcConfig.java
@@ -6,6 +6,7 @@
 import com.genersoft.iot.vmp.conf.redis.bean.RedisRpcMessage;
 import com.genersoft.iot.vmp.conf.redis.bean.RedisRpcRequest;
 import com.genersoft.iot.vmp.conf.redis.bean.RedisRpcResponse;
+import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
 import com.genersoft.iot.vmp.service.redisMsg.control.RedisRpcController;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -44,6 +45,9 @@
     @Autowired
     private RedisTemplate<Object, Object> redisTemplate;
 
+    @Autowired
+    private ZlmHttpHookSubscribe hookSubscribe;
+
     private ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
 
     @Qualifier("taskExecutor")
@@ -79,6 +83,7 @@
         if (userSetting.getServerId().equals(response.getToId())) {
             return;
         }
+        logger.info("[redis-rpc] << {}", response);
         response(response);
     }
 
@@ -87,6 +92,7 @@
             if (userSetting.getServerId().equals(request.getFromId())) {
                 return;
             }
+            logger.info("[redis-rpc] << {}", request);
             Method method = getMethod(request.getUri());
             // 娌℃湁鎼哄甫鐩爣ID鐨勫彲浠ョ悊瑙d负鍝釜wvp鏈夌粨鏋滃氨鍝釜鍥炲锛屾惡甯︾洰鏍嘔D锛屼絾鏄鏋滄槸涓嶅瓨鍦ㄧ殑uri鍒欑洿鎺ュ洖澶�404
             if (userSetting.getServerId().equals(request.getToId())) {
@@ -128,6 +134,7 @@
     }
 
     private void sendResponse(RedisRpcResponse response){
+        logger.info("[redis-rpc] >> {}", response);
         response.setToId(userSetting.getServerId());
         RedisRpcMessage message = new RedisRpcMessage();
         message.setResponse(response);
@@ -135,6 +142,7 @@
     }
 
     private void sendRequest(RedisRpcRequest request){
+        logger.info("[redis-rpc] >> {}", request);
         RedisRpcMessage message = new RedisRpcMessage();
         message.setRequest(request);
         redisTemplate.convertAndSend(REDIS_REQUEST_CHANNEL_KEY, message);
@@ -147,6 +155,7 @@
     public RedisRpcResponse request(RedisRpcRequest request, int timeOut) {
         request.setSn((long) random.nextInt(1000) + 1);
         SynchronousQueue<RedisRpcResponse> subscribe = subscribe(request.getSn());
+
         try {
             sendRequest(request);
             return subscribe.poll(timeOut, TimeUnit.SECONDS);
@@ -193,13 +202,24 @@
     }
 
     private void setCallback(long key, CommonCallback<RedisRpcResponse> callback)  {
-        if (!callbacks.containsKey(key)) {
-            callbacks.put(key, callback);
-        }
-
+        // TODO 濡傛灉澶氫釜涓婄骇鐐规挱鍚屼竴涓�氶亾浼氭湁闂
+        callbacks.put(key, callback);
     }
 
     public void removeCallback(long key)  {
         callbacks.remove(key);
     }
+
+
+    public int getCallbackCount(){
+        return callbacks.size();
+    }
+
+//    @Scheduled(fixedRate = 1000)   //姣�1绉掓墽琛屼竴娆�
+//    public void execute(){
+//        logger.info("callbacks鐨勯暱搴�: " + callbacks.size());
+//        logger.info("闃熷垪鐨勯暱搴�: " + topicSubscribers.size());
+//        logger.info("HOOK鐩戝惉鐨勯暱搴�: " + hookSubscribe.size());
+//        logger.info("");
+//    }
 }

--
Gitblit v1.8.0