rabbitmq 如何删除队列中的消息

对于rabbitmq删除队列消息,有下面几种方式:

 1. rabbitmqctl --node rabbit@node --vhost testVHost purge_queue testQueue

           该方式是命令行删除,等同于web ui管理界面的点击testQueue队列 -> Purge (Purge Message),该方式能删除所有ready的消息,对于unacked消息无法删除。如果需要删除unacked消息,需要将该队列上的所有消费者停止,unacked消息会自动变为ready消息,此时通过purge_queue命令可以删除

 2. rabbitmqctl reset命令

          该方式需要执行如下命令:

          rabbitmqctl stop_app  ->  rabbitmqctl reset ->  rabbitmqctl start_app

          注意此方式,会同时清除一些配置信息,需要慎用。

 3. rabbitmqctl delete_queue删除队列,然后重建

       该方式就是将队列删除,重新建一个,煎蛋很粗暴。

 4. 代码方式实现,在消费到消息后,可以自动或者手动ack消息,对于ack确认后的消息会从队列中清除

你可能感兴趣的:(rabbitmqctl,purge_queue,rabbitmq删除消息,RabbitMQ)