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

相关推荐
z落落几秒前
C# 继承基础详解(代码实战+权限规则)
java·开发语言
techdashen1 分钟前
你想在 Rust 中实现动态库热重载?
开发语言·chrome·rust
不会C语言的男孩2 分钟前
C++ Primer 第5章:语句
开发语言·c++
酉鬼女又兒4 分钟前
零基础入门计算机网络:从基本概念到核心交换技术
开发语言·计算机网络·考研·职场和发展·php
爱喝水的鱼丶7 分钟前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇)第三篇:SAP ALV 报表样式定制:字段布局与交互功能配置
服务器·开发语言·学习·交互·sap·abap
chao1898447 分钟前
基于SIFT和SURF特征的图像配准(MATLAB)
开发语言·matlab
摇滚侠10 分钟前
JDBC 基础到高级一套通关!基础篇 00-15
java·开发语言·数据库
轮子飞了15 分钟前
记一次 Spring AI Alibaba + 百炼的踩坑:结构化输出与联网搜索的冲突
人工智能·python·spring
专注VB编程开发20年21 分钟前
VB.NET是唯一能直接打击 Python 的语言
python
foundbug99925 分钟前
最优化问题的外点罚函数法与内点罚函数法-MATLAB实现
开发语言·matlab