JedisConnectionFactory was destroyed

问题遇到的现象和发生背景

JedisConnectionFactory was destroyed and cannot be used anymore

用代码块功能插入代码,请勿粘贴截图

@PostConstruct
public void cusumerAlarm() {
// 创建一个单线程的执行器
ExecutorService executorService = Executors.newSingleThreadExecutor();
// 放入循环消费消息的任务
executorService.execute(() -> {
// 循环出队
while (true) {
try {
// 读取备份list,存在则先消费备份list
AlarmNoticeVO alarmNoticeVO = gson.fromJson( (String)redisTemplate.opsForList().rightPop(RedisConfig.CLIENT_ALARM_TOPIC),AlarmNoticeVO.class);

                if (alarmNoticeVO == null) {
                    alarmNoticeVO = gson.fromJson((String)redisTemplate.opsForList()
                            .rightPop(RedisConfig.CLIENT_ALARM_TOPIC, 10, TimeUnit.SECONDS),AlarmNoticeVO.class);
                }

                // 无消息时,开始下一轮
                if (alarmNoticeVO == null) {
                    continue;
                }
                // 进行业务处理
                cdaAlarmDetailsService.dealAlarm(alarmNoticeVO);

            } catch (Exception e) {
                // 异常捕获,防止循环因异常停止
                log.error(e.getMessage());
            }
        }
    });
}
运行结果及报错内容

img

我想要达到的结果

启动可以正常消费redis