From c5ddf5985892f052263240a02e21215027e6ee05 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 19 一月 2022 17:40:03 +0800
Subject: [PATCH] 修改readme
---
src/main/java/com/genersoft/iot/vmp/conf/RedisConfig.java | 78 ++++++++++++++++++++++++--------------
1 files changed, 49 insertions(+), 29 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/RedisConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/RedisConfig.java
index 914d0c3..5f04a08 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/RedisConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/RedisConfig.java
@@ -1,31 +1,72 @@
package com.genersoft.iot.vmp.conf;
+import com.genersoft.iot.vmp.common.VideoManagerConstants;
+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 com.alibaba.fastjson.parser.ParserConfig;
import com.genersoft.iot.vmp.utils.redis.FastJsonRedisSerializer;
+import redis.clients.jedis.JedisPool;
+import redis.clients.jedis.JedisPoolConfig;
/**
- * @Description:Redis涓棿浠堕厤缃被
- * @author: songww
+ * @description:Redis涓棿浠堕厤缃被锛屼娇鐢╯pring-data-redis闆嗘垚锛岃嚜鍔ㄤ粠application.yml涓姞杞絩edis閰嶇疆
+ * @author: swwheihei
* @date: 2019骞�5鏈�30鏃� 涓婂崍10:58:25
*
*/
@Configuration
-// @EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
+
+ @Value("${spring.redis.host}")
+ private String host;
+ @Value("${spring.redis.port}")
+ private int port;
+ @Value("${spring.redis.database}")
+ private int database;
+ @Value("${spring.redis.password}")
+ private String password;
+ @Value("${spring.redis.timeout}")
+ private int timeout;
+ @Value("${spring.redis.poolMaxTotal:1000}")
+ private int poolMaxTotal;
+ @Value("${spring.redis.poolMaxIdle:500}")
+ private int poolMaxIdle;
+ @Value("${spring.redis.poolMaxWait:5}")
+ private int poolMaxWait;
+
+ @Autowired
+ private RedisGPSMsgListener redisGPSMsgListener;
+
+ @Bean
+ public JedisPool jedisPool() {
+ if (StringUtils.isBlank(password)) {
+ password = null;
+ }
+ JedisPoolConfig poolConfig = new JedisPoolConfig();
+ poolConfig.setMaxIdle(poolMaxIdle);
+ poolConfig.setMaxTotal(poolMaxTotal);
+ // 绉掕浆姣
+ poolConfig.setMaxWaitMillis(poolMaxWait * 1000L);
+ JedisPool jp = new JedisPool(poolConfig, host, port, timeout * 1000, password, database);
+ return jp;
+ }
@Bean("redisTemplate")
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<Object, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
- ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
+ // 浣跨敤fastjson杩涜搴忓垪鍖栧鐞嗭紝鎻愰珮瑙f瀽鏁堢巼
FastJsonRedisSerializer<Object> serializer = new FastJsonRedisSerializer<Object>(Object.class);
// value鍊肩殑搴忓垪鍖栭噰鐢╢astJsonRedisSerializer
template.setValueSerializer(serializer);
@@ -33,8 +74,9 @@
// key鐨勫簭鍒楀寲閲囩敤StringRedisSerializer
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
-
template.setConnectionFactory(redisConnectionFactory);
+ // 浣跨敤fastjson鏃堕渶璁剧疆姝ら」锛屽惁鍒欎細鎶ュ紓甯竛ot support type
+ ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
return template;
}
@@ -43,7 +85,6 @@
* 閫氳繃鍙嶅皠鎶�鏈皟鐢ㄦ秷鎭闃呭鐞嗗櫒鐨勭浉鍏虫柟娉曡繘琛屼竴浜涗笟鍔″鐞�
*
* @param connectionFactory
- * @param listenerAdapter
* @return
*/
@Bean
@@ -51,29 +92,8 @@
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
+ container.addMessageListener(redisGPSMsgListener, new PatternTopic(VideoManagerConstants.WVP_MSG_GPS_PREFIX));
return container;
}
-// @Bean
-// RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
-// MessageListenerAdapter listenerAdapter) {
-//
-// RedisMessageListenerContainer container = new RedisMessageListenerContainer();
-// container.setConnectionFactory(connectionFactory);
-// // 璁㈤槄浜嗕竴涓彨閫氶亾
-// container.addMessageListener(listenerAdapter, new PatternTopic(VideoManagerConstants.KEEPLIVEKEY_PREFIX+"*"));
-// // 杩欎釜container 鍙互娣诲姞澶氫釜 messageListener
-// return container;
-// }
-
-// /**
-// * 娑堟伅鐩戝惉鍣ㄩ�傞厤鍣紝缁戝畾娑堟伅澶勭悊鍣紝鍒╃敤鍙嶅皠鎶�鏈皟鐢ㄦ秷鎭鐞嗗櫒鐨勪笟鍔℃柟娉�
-// * @param receiver
-// * @return
-// */
-// @Bean
-// MessageListenerAdapter listenerAdapter(MessageReceiver receiver) {
-// //杩欎釜鍦版柟 鏄粰messageListenerAdapter 浼犲叆涓�涓秷鎭帴鍙楃殑澶勭悊鍣紝鍒╃敤鍙嶅皠鐨勬柟娉曡皟鐢ㄢ�渞eceiveMessage鈥�
-// //涔熸湁濂藉嚑涓噸杞芥柟娉曪紝杩欒竟榛樿璋冪敤澶勭悊鍣ㄧ殑鏂规硶 鍙玥andleMessage 鍙互鑷繁鍒版簮鐮侀噷闈㈢湅
-// return new MessageListenerAdapter(receiver, "receiveMessage");
-// }
+
}
--
Gitblit v1.8.0