spring data redis使用Lettuce的離奇連接空指針異常

使用lettuce在操作redis時會出現離奇空指針異常
配置如下:

public LettuceConnectionFactory redisConnectionFactory() {
    LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(
            new RedisStandaloneConfiguration("127.0.0.1", 6379));
    return connectionFactory;
}
@Bean("testredis")
public RedisTemplate<String, BlackNameValue> black() {
    RedisTemplate<String, BlackNameValue> redis = new RedisTemplate<>();
    redis.setConnectionFactory(redisConnectionFactory());
    return redis;
}

在使用Jedis的時候卻能正常使用

@Bean("testredis")
public JedisConnectionFactory redisConnectionFactory() {
	 RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(
	         "localhost", 6379);
	 return new JedisConnectionFactory(config);
}

需要在配置LettuceConnectionFactory時增加下面這個函數調用即可正常工作

public LettuceConnectionFactory redisConnectionFactory() {
    LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(
            new RedisStandaloneConfiguration("127.0.0.1", 6379));
    connectionFactory.afterPropertiesSet();
	return connectionFactory;
}

它的作用跟org.springframework.beans.factory.InitializingBean.afterPropertiesSet()相同

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章