NewLifeX / NewLife.RocketMQ

纯托管轻量级RocketMQ客户端,支持发布消息、消费消息、负载均衡等核心功能!
MIT License
212 stars 79 forks source link

消息消费不掉问题 #62

Closed zt72065036 closed 1 year ago

zt72065036 commented 1 year ago

consumer.OnConsume = (q, ms) => { string mInfo = $"BrokerName={q.BrokerName},QueueId={q.QueueId},Length={ms.Length}"; Console.WriteLine(mInfo); foreach (var item in ms.ToList()) { string msg = $"消息:msgId={item.MsgId},key={item.Keys},产生时间【{item.BornTimestamp.ToDateTime()}】,内容>{item.BodyString}"; Console.WriteLine(msg); } return true; //通知消息队:消费了消息 }; return了true,但是服务器上的消息还是没有消费掉,会重复拉取,会是什么问题?

zt72065036 commented 1 year ago

consumer.OnConsume = (q, ms) => { string mInfo = $"BrokerName={q.BrokerName},QueueId={q.QueueId},Length={ms.Length}"; Console.WriteLine(mInfo); foreach (var item in ms.ToList()) { string msg = $"消息:msgId={item.MsgId},key={item.Keys},产生时间【{item.BornTimestamp.ToDateTime()}】,内容>{item.BodyString}"; Console.WriteLine(msg); } return true; //通知消息队:消费了消息 }; return了true,但是服务器上的消息还是没有消费掉,会重复拉取,会是什么问题?

是我获取出来的消息,在Json序列化的时候出错了

nnhy commented 1 year ago

嗯,OnConsume 里面一般默认不要捕获异常,外面捕获到异常就认为你消费失败,会再次推送消息