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

相关推荐
kida_yuan2 分钟前
【从零开始】16. 基于 CPU 的转换、量化实现
python·llm
fly五行15 分钟前
大模型基础入门与 RAG 实战:从理论到 llama-index 项目搭建(有具体代码示例)
python·ai·llama·llamaindex
十五年专注C++开发17 分钟前
QT 中的元对象系统(六):connect函数详解
开发语言·c++·qt·设计模式·系统架构·qevent
kaikaile199520 分钟前
PHP计算过去一定时间段内日期范围函数
android·开发语言·php
E_ICEBLUE30 分钟前
Python 处理 Word 文档中的批注(添加、删除)
开发语言·python·microsoft·word
这里有鱼汤39 分钟前
Kronos+miniQMT预测股票,真香!保姆级教程,建议收藏
python·aigc
勇闯逆流河1 小时前
【C++】红黑树详解
开发语言·数据结构·c++
星哥说事2 小时前
Python自学25 - Django快速上手
开发语言·python·django
斑点鱼 SpotFish2 小时前
用Python可视化国庆期间旅游概况与消费趋势
开发语言·python·旅游
小兔崽子去哪了3 小时前
Python 学习记录
python