648540858
2022-11-29 ef6693aabbbf12e83d09ad8749f6e60faacc012d
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisStreamMsgListener.java
@@ -33,8 +33,6 @@
    @Autowired
    private ZLMMediaListManager zlmMediaListManager;
    private boolean taskQueueHandlerRun = false;
    private ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
    @Qualifier("taskExecutor")
@@ -43,13 +41,13 @@
    @Override
    public void onMessage(Message message, byte[] bytes) {
        boolean isEmpty = taskQueue.isEmpty();
        taskQueue.offer(message);
        if (!taskQueueHandlerRun) {
            taskQueueHandlerRun = true;
        if (isEmpty) {
            taskExecutor.execute(() -> {
                while (!taskQueue.isEmpty()) {
                    Message msg = taskQueue.poll();
                    try {
                    JSONObject steamMsgJson = JSON.parseObject(msg.getBody(), JSONObject.class);
                    if (steamMsgJson == null) {
                        logger.warn("[收到redis 流变化]消息解析失败");
@@ -83,8 +81,10 @@
                    }else {
                        zlmMediaListManager.removeMedia(app, stream);
                    }
                    }catch (Exception e) {
                        logger.warn("[REDIS的ALARM通知] 发现未处理的异常, {}",e.getMessage());
                }
                taskQueueHandlerRun = false;
                }
            });
        }
    }