使用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 分钟前
LangChain4j使用文档
开发语言·python
程序员小羊!4 分钟前
12.Java 多线程编程
java·开发语言
乐观勇敢坚强的老彭11 分钟前
C++信息学奥赛lesson1
java·开发语言·c++
belong_my_offer17 分钟前
在Pycharm中安装conda的保姆级教学
python
jllllyuz17 分钟前
MATLAB实现滚动轴承故障诊断(外圈故障)
开发语言·人工智能·matlab
github_czy20 分钟前
更加优雅的类型检查与传参---mcp源码分析
java·服务器·开发语言
CTA终结者21 分钟前
期货量化合约代码写错:天勤 symbol 格式与 silent 订阅坑
python·区块链
c_lb728821 分钟前
期货程序化撤单改价后仓位乱了:cancel_order 与 TargetPosTask 协作
python
Irissgwe26 分钟前
C++ STL关联式容器详解:set、multiset、map、multimap
开发语言·c++·stl·set·map·multiset·关联式容器
叶帆34 分钟前
【YFIOs】用C#开发硬件之WiFi网络
开发语言·网络·c#