小编rea*_*vie的帖子

LettuceConnectionFactory 是否对 redis 和 springboot 有版本限制?

项目需要自定义RedisConnectionFactory,发现一个问题:使用LettuceConnectionFactory时,runtime总是报java.lang.NullPointerException,而JedisConnectionFactory可以通过测试。我觉得LettuceConnectionFactory对redis和springboot有没有版本限制?

开发环境:

Springboot: 2.1.0.release

Redis:3.2.8

jdk8。

Java代码

@Component
@Configuration
public class RedisConfig {

    public LettuceConnectionFactory lettuceConnectionFactoryTest(){
        return new LettuceConnectionFactory(new RedisStandaloneConfiguration("127.0.0.1", 6379));
    }

    public JedisConnectionFactory jedisConnectionFactoryTest(){
        return new JedisConnectionFactory(new RedisStandaloneConfiguration("127.0.0.1", 6379));
    }

}
Run Code Online (Sandbox Code Playgroud)

测试代码

@Autowired
private RedisConfig redisConfig;

@Autowired
private StringRedisTemplate redisTemplate;

@Test
public void test(){

    redisTemplate.setConnectionFactory(redisConfig.lettuceConnectionFactoryTest());
    ValueOperations<String, String> valueOperations = redisTemplate.opsForValue();
    valueOperations.set("test", "test123");
    System.out.println(valueOperations.get("test"));

}
Run Code Online (Sandbox Code Playgroud)

例外

java.lang.NullPointerException
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1085)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getConnection(LettuceConnectionFactory.java:1065)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getSharedConnection(LettuceConnectionFactory.java:865)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getConnection(LettuceConnectionFactory.java:340)
at org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:132)
at org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:95)
at org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:82)
at …
Run Code Online (Sandbox Code Playgroud)

redis spring-data-redis spring-boot

4
推荐指数
1
解决办法
2574
查看次数

标签 统计

redis ×1

spring-boot ×1

spring-data-redis ×1