消费者监听上了 为什么还会NOT_CONSUME_YET
时间: 2023-10-30 13:05:55 浏览: 98
当消费者监听上了,如果消费者所在的消费组没有消费者消费该topic的消息,那么该消息状态就会变成NOT_CONSUME_YET。此时,如果有消费者加入到该消费组中,那么该消费者就可以消费该消息。如果该消息在一定时间内仍然没有被消费者消费,那么该消息就会被重新投递到HALF队列中,等待下一次消费者消费。
相关问题
NOT_CONSUME_YET
NOT_CONSUME_YET是RocketMQ中的一个状态,表示消息还没有被消费。当消息以事务消息的模式发送时,会先被发送到一个HALF队列中,此时状态为UN_KNOW,还没有被投递到目标队列中。如果消息被成功消费,状态会变为CONSUMED,如果消费失败,状态会变为RECONSUME_LATER。在RocketMQ中,如果消费者没有消费到消息,消息的状态就会一直保持为NOT_CONSUME_YET。如果你遇到了这个问题,可以检查一下消费者是否正常运行,是否有消费到消息。另外,如果你使用的是Spring Boot集成RocketMQ,可能会出现生成了两个CONSUMER的情况,可以尝试解决这个问题。
为什么rocketmq中消息消费成功了,但是状态还是NOT_CONSUME_YET
RocketMQ中消息消费成功后,消息状态应该会被更新为“已消费”状态,也就是CONSUMED状态。如果消费成功后状态仍然是NOT_CONSUME_YET,可能是因为消费者端没有向Broker发送确认消费请求,导致Broker没有更新消息状态。你可以检查一下消费者端的代码,确保确认消费请求被正确地发送。如果确认请求已经被发送,但是状态仍然没有被更新,那么可能是RocketMQ的bug。此时,你可以考虑升级RocketMQ版本或者向RocketMQ社区报告这个问题。
阅读全文