| | |
| | | package com.genersoft.iot.vmp.conf.redis; |
| | | |
| | | |
| | | import com.alibaba.fastjson.parser.ParserConfig; |
| | | import com.genersoft.iot.vmp.common.VideoManagerConstants; |
| | | import com.genersoft.iot.vmp.service.impl.*; |
| | | import com.genersoft.iot.vmp.service.redisMsg.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.cache.annotation.CachingConfigurerSupport; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.core.annotation.Order; |
| | | 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.RedisSerializer; |
| | | import org.springframework.data.redis.serializer.StringRedisSerializer; |
| | | |
| | | import com.genersoft.iot.vmp.utils.redis.FastJsonRedisSerializer; |
| | |
| | | * |
| | | */ |
| | | @Configuration |
| | | @Order(value=1) |
| | | public class RedisConfig extends CachingConfigurerSupport { |
| | | |
| | | @Autowired |
| | |
| | | private RedisPushStreamStatusMsgListener redisPushStreamStatusMsgListener; |
| | | |
| | | @Autowired |
| | | private RedisPushStreamListMsgListener redisPushStreamListMsgListener; |
| | | private RedisPushStreamStatusListMsgListener redisPushStreamListMsgListener; |
| | | |
| | | @Autowired |
| | | private RedisPushStreamResponseListener redisPushStreamResponseListener; |
| | | |
| | | @Bean |
| | | public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { |
| | |
| | | // value值的序列化采用fastJsonRedisSerializer |
| | | redisTemplate.setValueSerializer(fastJsonRedisSerializer); |
| | | redisTemplate.setHashValueSerializer(fastJsonRedisSerializer); |
| | | // 全局开启AutoType,不建议使用 |
| | | ParserConfig.getGlobalInstance().setAutoTypeSupport(true); |
| | | |
| | | // key的序列化采用StringRedisSerializer |
| | | redisTemplate.setKeySerializer(new StringRedisSerializer()); |
| | | redisTemplate.setHashKeySerializer(new StringRedisSerializer()); |
| | |
| | | container.addMessageListener(redisGbPlayMsgListener, new PatternTopic(RedisGbPlayMsgListener.WVP_PUSH_STREAM_KEY)); |
| | | container.addMessageListener(redisPushStreamStatusMsgListener, new PatternTopic(VideoManagerConstants.VM_MSG_PUSH_STREAM_STATUS_CHANGE)); |
| | | container.addMessageListener(redisPushStreamListMsgListener, new PatternTopic(VideoManagerConstants.VM_MSG_PUSH_STREAM_LIST_CHANGE)); |
| | | container.addMessageListener(redisPushStreamResponseListener, new PatternTopic(VideoManagerConstants.VM_MSG_STREAM_PUSH_RESPONSE)); |
| | | return container; |
| | | } |
| | | |
| | | } |