From c9fdff7d45ae118eac10397d8f34661e9f2e968a Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 12 一月 2022 10:28:18 +0800 Subject: [PATCH] 礼金bug修复 --- service-lijin/src/main/java/com/ks/lijin/config/RedisConfig.java | 80 ++++++++++++++++++++++++++-------------- 1 files changed, 52 insertions(+), 28 deletions(-) diff --git a/service-lijin/src/main/java/com/ks/lijin/config/RedisConfig.java b/service-lijin/src/main/java/com/ks/lijin/config/RedisConfig.java index ad5f0ac..8f9903a 100644 --- a/service-lijin/src/main/java/com/ks/lijin/config/RedisConfig.java +++ b/service-lijin/src/main/java/com/ks/lijin/config/RedisConfig.java @@ -1,48 +1,72 @@ package com.ks.lijin.config; -import org.apache.commons.pool2.impl.GenericObjectPoolConfig; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; 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.serializer.Jackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; import redis.clients.jedis.JedisPool; +import redis.clients.jedis.JedisPoolConfig; @Configuration public class RedisConfig { + + @Value("${spring.redis.host}") + private String addr; + @Value("${spring.redis.port}") + private int port; + @Value("${spring.redis.timeout}") + private String timeout; + @Value("${spring.redis.password}") + private String auth; + @Value("${spring.redis.database}") + private int database; + @Value("${spring.redis.jedis.pool.max-total}") + private int maxTotal; + @Value("${spring.redis.jedis.pool.max-idle}") + private int maxIdle; + @Value("${spring.redis.jedis.pool.test_on_borrow}") + private boolean testOnBorrow; + + Logger log = LoggerFactory.getLogger(RedisConfig.class); - @Value("${redis.host}") - private String host; - - @Value("${redis.port}") - private int port; - - @Value("${redis.password}") - private String password; - - @Value("${redis.timeout}") - private int timeout; - - @Value("${redis.jedis.pool.max-wait}") - private int maxWait; - - @Value("${redis.jedis.pool.max-idle}") - private int maxIdle; - - @Value("${redis.jedis.pool.max-total}") - private int maxTotal; - @Value("${redis.database}") - private int database; + @Bean + public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) { + RedisTemplate<String, Object> template = new RedisTemplate<>(); + template.setConnectionFactory(factory); + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); + ObjectMapper om = new ObjectMapper(); + om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); + jackson2JsonRedisSerializer.setObjectMapper(om); + StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); + // key閲囩敤String鐨勫簭鍒楀寲鏂瑰紡 + template.setKeySerializer(stringRedisSerializer); + // hash鐨刱ey涔熼噰鐢⊿tring鐨勫簭鍒楀寲鏂瑰紡 + template.setHashKeySerializer(stringRedisSerializer); + // value搴忓垪鍖栨柟寮忛噰鐢╦ackson + template.setValueSerializer(jackson2JsonRedisSerializer); + // hash鐨剉alue搴忓垪鍖栨柟寮忛噰鐢╦ackson + template.setHashValueSerializer(jackson2JsonRedisSerializer); + template.afterPropertiesSet(); + return template; + } @Bean public JedisPool jedisPool() { - GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); - poolConfig.setMaxWaitMillis(maxWait); - poolConfig.setMaxIdle(maxIdle); + JedisPoolConfig poolConfig = new JedisPoolConfig(); poolConfig.setMaxTotal(maxTotal); - JedisPool pool = new JedisPool(poolConfig, host, port, timeout, password, database); - return pool; + poolConfig.setMaxIdle(maxIdle); + poolConfig.setTestOnBorrow(testOnBorrow); + return new JedisPool(poolConfig, addr, port, Integer.parseInt(timeout.replace("ms", "").trim()), auth, database); } } -- Gitblit v1.8.0