|  |  |  | 
|---|
|  |  |  | 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 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | 
|---|
|  |  |  | private int poolMaxIdle; | 
|---|
|  |  |  | @Value("${spring.redis.poolMaxWait:5}") | 
|---|
|  |  |  | private int poolMaxWait; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private RedisGPSMsgListener redisGPSMsgListener; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private RedisAlarmMsgListener redisAlarmMsgListener; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Bean | 
|---|
|  |  |  | public JedisPool jedisPool() { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  | return container; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|