使用Redis Stream偶发空指针问题

**问题描述:**使用redission客户端封装的stream消息队列,在进行消息轮询时,偶发出现空指针问题。

java 复制代码
[2024-11-13 09:59:20]  [] [] [redis-stream-consumer-thread-1 ] [lambda$streamMessageListenerContainer$1] [ERROR] [c.r.c.r.s.config.RedisStreamConfig] Cannot invoke "java.util.List.iterator()" because "records" is null
java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because "records" is null
	at org.springframework.data.redis.stream.StreamPollTask.deserializeAndEmitRecords(StreamPollTask.java:151)
	at org.springframework.data.redis.stream.StreamPollTask.doLoop(StreamPollTask.java:128)
	at org.springframework.data.redis.stream.StreamPollTask.run(StreamPollTask.java:112)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:842)

解决方案: 可以看到redission官网在3.30.0版本解决了这个问题

使用redission封装的redis stream时遇到这个问题,只需要升级redission到3.30.0之后的版本即可。

相关推荐
赵民勇3 小时前
Python 协程详解与技巧总结
python
极光代码工作室3 小时前
基于YOLO目标检测的智能监控系统
python·深度学习·yolo·机器学习·计算机视觉
. . . . .3 小时前
Egg框架深入
java·开发语言
江华森4 小时前
Python 进阶编程实战 — 从多版本环境到百万级登录系统
python
C+-C资深大佬4 小时前
python while循环
服务器·开发语言·python
Tian_Hang4 小时前
eclipse ditto 学习笔记
运维·服务器·开发语言·javascript·3d
星夜夏空994 小时前
C++学习(2) —— 类与对象基础
开发语言·c++·学习
倒流时光三十年4 小时前
Java 内存模型(JMM)通俗解释
java·开发语言
码兄科技5 小时前
Java AI智能体开发实战:从零构建企业级智能应用指南
java·开发语言·人工智能
zh路西法5 小时前
【现代控制理论与卡尔曼滤波】从状态空间到Python仿真实现
开发语言·python