今天在使用SpringBoot2整合Redis集群时,遇到了Redis连接工厂LettuceConnectionFactory出现空指针的问题,而之前在整合Redis单机时并未出现这种问题。
于是记录一下问题和解决方法。
下面是出现空指针的代码:
LettuceConnectionFactory connectionFactory = getConnectionFactory(urlList, password);
redisTemplate.setConnectionFactory(connectionFactory);
通过自己封装的方法配置并创建Redis连接工厂对象,再将其通过setConnectionFactory()方法配置给StringRedisTemplate对象,以此达到外部配置Redis参数的目的。
下面是解决出现空指针问题的方法:
LettuceConnectionFactory connectionFactory = getConnectionFactory(urlList, password);
connectionFactory.afterPropertiesSet();
redisTemplate.setConnectionFactory(connectionFactory);
在StringRedisTemplate对象调用setConnectionFactory()方法前,LettuceConnectionFactory对象先调用afterPropertiesSet()方法初始化。