使用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()
相同