jiang
2022-07-13 fc89b7b517e191fb6c9b66fa86dd05ebab0f54c5
src/main/java/com/genersoft/iot/vmp/conf/RedisConfig.java
@@ -1,12 +1,19 @@
package com.genersoft.iot.vmp.conf;
import com.genersoft.iot.vmp.common.VideoManagerConstants;
import com.genersoft.iot.vmp.service.impl.RedisAlarmMsgListener;
import com.genersoft.iot.vmp.service.impl.RedisGpsMsgListener;
import com.genersoft.iot.vmp.service.impl.RedisGbPlayMsgListener;
import com.genersoft.iot.vmp.service.impl.RedisStreamMsgListener;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@@ -16,7 +23,7 @@
import redis.clients.jedis.JedisPoolConfig;
/**
 * @Description:Redis中间件配置类,使用spring-data-redis集成,自动从application.yml中加载redis配置
 * @description:Redis中间件配置类,使用spring-data-redis集成,自动从application.yml中加载redis配置
 * @author: swwheihei
 * @date: 2019年5月30日 上午10:58:25
 * 
@@ -40,6 +47,18 @@
   private int poolMaxIdle;
   @Value("${spring.redis.poolMaxWait:5}")
   private int poolMaxWait;
   @Autowired
   private RedisGpsMsgListener redisGPSMsgListener;
   @Autowired
   private RedisAlarmMsgListener redisAlarmMsgListener;
   @Autowired
   private RedisStreamMsgListener redisStreamMsgListener;
   @Autowired
   private RedisGbPlayMsgListener redisGbPlayMsgListener;
   @Bean
   public JedisPool jedisPool() {
@@ -85,6 +104,10 @@
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
      container.addMessageListener(redisGPSMsgListener, new PatternTopic(VideoManagerConstants.VM_MSG_GPS));
      container.addMessageListener(redisAlarmMsgListener, new PatternTopic(VideoManagerConstants.VM_MSG_SUBSCRIBE_ALARM_RECEIVE));
      container.addMessageListener(redisStreamMsgListener, new PatternTopic(VideoManagerConstants.WVP_MSG_STREAM_CHANGE_PREFIX + "PUSH"));
      container.addMessageListener(redisGbPlayMsgListener, new PatternTopic(RedisGbPlayMsgListener.WVP_PUSH_STREAM_KEY));
        return container;
    }