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

相关推荐
C^h4 分钟前
pytorch 适合初学者 0基础学习
人工智能·pytorch·python
隔窗听雨眠9 分钟前
记一次SQL Server数据库性能分析:从CPU100%到单配置修复的完整诊断
开发语言·数据库·php
David猪大卫13 分钟前
【C++修炼】智能指针使用及原理
开发语言·c++·经验分享·笔记·学习·考研·面试
charlie11451419114 分钟前
现代Qt开发之图像处理进阶:像素操作与格式转换
开发语言·图像处理·qt
李永奉21 分钟前
中科蓝讯SDK开发-BT893x 面条耳机连接vivo手机后连接APP端,最后手机端设置页面手动断开蓝牙连接,此时耳机端假断开
c语言·开发语言·嵌入式硬件·物联网·智能手机·电脑
小柯南敲键盘25 分钟前
跨马翻译:AI批量图片翻译工具,跨境电商视频字幕翻译与智能抠图一体搞定
人工智能·python·音视频
2601_9622972536 分钟前
Python里behave和pytest-bdd哪个更适合中大型项目?为什么?
python·bdd·行为驱动开发·behave·pytest-bdd
秦老师Q1 小时前
php零基础入门到实战,从语法到框架,一篇搞定
开发语言·php
驭渊的小故事2 小时前
多线程02
java·开发语言·jvm
阿里嘎多学长2 小时前
2026-09-09 GitHub 热点项目精选
开发语言·程序员·github·代码托管