大家好,欢迎来到IT知识分享网。
如图所示,其中一条 Queues 出现了一条 Unacked 消息,代表消息已经投递给消费者,但还没有收到消费者 Ack 这么一个中间状态。大概率是消费者消费此消息失败导致,可查看消费端日志进一步验证。
我的这条查看日志发现,调用端参数传递不规范,导致字符串解析成对象异常,控制台一直出现 Caused by: com.alibaba.fastjson.JSONException 解析异常报错。
问题已经定位, 如何处理这个问题?既然这条消息不规范,那就删除这条消息。
此操作会删除该队列已有的所有消息,如果有消息一直在消费,谨慎操作。
如果不好使,暴力点的方案: 删除此队列
如果能链接到 rabbitmq 服务器 , 推荐用命令删除
- (推荐)清空指定queue队列的数据
rabbitmqctl purge_queue queue_name
2.(不推荐)使用reset方式重置rabbitmq即清空掉rabbitmq所有的队列数据和配置(划重点) 慎重操作!!!
rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl start_app
root@rmq_node1:/# rabbitmqctl list_queues -p xxxxxxx_abc |grep log stg-xxxxxxx-abc-post-request-log stg-xxxxxxx-abc-mid-request-log stg-xxxxxxx-abc-pre-request-log root@rmq_node1:/# root@rmq_node1:/# root@rmq_node1:/# root@rmq_node1:/# rabbitmqctl purge_queue -p xxxxxxx_abc stg-xxxxxxx-abc-post-request-log Purging queue 'stg-xxxxxxx-abc-post-request-log' in vhost 'xxxxxxx_abc' ... root@rmq_node1:/# rabbitmqctl purge_queue -p xxxxxxx_abc stg-xxxxxxx-abc-mid-request-log Purging queue 'stg-xxxxxxx-abc-mid-request-log' in vhost 'xxxxxxx_abc' ... root@rmq_node1:/# rabbitmqctl purge_queue -p xxxxxxx_abc stg-xxxxxxx-abc-pre-request-log Purging queue 'stg-xxxxxxx-abc-pre-request-log' in vhost 'lxtx_abc' ...
参考链接:
https://www.cnblogs.com/-mrl/p/11101614.html
https://www.jianshu.com/p/5db0833f04e3
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118856.html


