使用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之后的版本即可。

相关推荐
MrSYJ3 分钟前
可以指定 Jupyter Notebook 使用的虚拟环境吗
python·llm·agent
ACP广源盛1392462567316 分钟前
(ACP广源盛)GSV2231---DisplayPort 1.4 MST 到 HDMI 2.0/DP/Type-C 转换器(带嵌入式 MCU)
c语言·开发语言·单片机·嵌入式硬件·音视频·mst
quant_198617 分钟前
【教程】使用加密货币行情接口 - 查询比特币实时价格
开发语言·后端·python·websocket·网络协议
ytttr87319 分钟前
MATLAB实现经验模态分解(EMD)与希尔伯特变换获取能量谱
人工智能·python·matlab
yumgpkpm22 分钟前
Doris在CMP7(类Cloudera CDP 7 404版华为Kunpeng)启用 Kerberos部署Doris
大数据·hive·hadoop·python·oracle·flink·cloudera
熊猫_豆豆25 分钟前
Python 写一个标准版和程序员版计算器
开发语言·python·计算器
Mr.Jessy32 分钟前
Web APIs 学习第四天:DOM事件进阶
开发语言·前端·javascript·学习·ecmascript
studyForMokey39 分钟前
【Kotlin内联函数】
android·开发语言·kotlin
小虚竹44 分钟前
Rust日志系统完全指南:从log门面库到env_logger实战
开发语言·后端·rust
星释44 分钟前
Rust 练习册 8:链表实现与所有权管理
开发语言·链表·rust