|  |  |  | 
|---|
|  |  |  | 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.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; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|