RabbitMQ管理界面出现 Unacked 消息

如图所示,其中一条 Queues 出现了一条 Unacked 消息,代表消息已经投递给消费者,但还没有收到消费者 Ack 这么一个中间状态。大概率是消费者消费此消息失败导致,可查看消费端日志进一步验证。

我的这条查看日志发现,调用端参数传递不规范,导致字符串解析成对象异常,控制台一直出现 Caused by: com.alibaba.fastjson.JSONException 解析异常报错。

问题已经定位, 如何处理这个问题?既然这条消息不规范,那就删除这条消息。

此操作会删除该队列已有的所有消息,如果有消息一直在消费,谨慎操作。

如果不好使,暴力点的方案: 删除此队列

如果能链接到 rabbitmq 服务器 , 推荐用命令删除

  1. (推荐)清空指定queue队列的数据

    rabbitmqctl purge_queue queue_name

2.(不推荐)使用reset方式重置rabbitmq即清空掉rabbitmq所有的队列数据和配置(划重点) 慎重操作!!!

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

例子:
-p xxxxxxx_abc 这个表示某个vhosts名字为xxxxxxx_abc。

root@rmq_node1:/# rabbitmqctl list_queues -p xxxxxxx_abc |grep log
stg-xxxxxxx-abc-post-request-log    2249212
stg-xxxxxxx-abc-mid-request-log     1845336
stg-xxxxxxx-abc-pre-request-log     2243981
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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值