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

相关推荐
未知鱼6 分钟前
Python安全开发之子域名扫描器(含详细注释)
网络·python·安全·web安全·网络安全
2401_831824969 分钟前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
CQU_JIAKE11 分钟前
3.21【A】
开发语言·php
2401_8579182919 分钟前
Python在2024年的主要趋势与发展方向
jvm·数据库·python
今儿敲了吗22 分钟前
python基础学习笔记第九章——模块、包
开发语言·python
xyq202428 分钟前
TypeScript 命名空间
开发语言
2301_8101609530 分钟前
C++与物联网开发
开发语言·c++·算法
sxlishaobin33 分钟前
Java I/O 模型详解:BIO、NIO、AIO
java·开发语言·nio
cm65432034 分钟前
基于C++的操作系统开发
开发语言·c++·算法
ArturiaZ37 分钟前
【day57】
开发语言·c++·算法