如何将消息复制到RabbitMQ上的另一个队列?

nor*_*ree 7 message-queue amqp rabbitmq rabbitmqctl

使用 RabbitMQ 作为代理,我想将所有消息从一个队列复制到另一个队列以进行测试/调试。通过 RabbitMQ Web 管理控制台/cli 最简单的方法是什么?

PS 在指定队列的 web 控制台下,我只能移动消息而不是将消息复制到新队列。

Oli*_*ier 7

当我需要执行此类任务时,我会执行以下操作(假设您要复制参考队列中的所有消息):

  1. 如果他没有绑定到任何队列,则创建一个扇出交换或使用默认的交换(amq.fanout)
  2. 将引用队列绑定到它
  3. 将“重复”队列绑定到它
  4. 配置一个铲子将引用队列中的所有消息发送到您绑定到两个队列的交换器,自动删除设置为“传输初始长度后”

但这确实意味着如果消息通过正常流到达参考队列,它们将最终位于队列顶部,“复制”的消息位于/混合在它们之后


小智 0

有一个商业工具,QueueExplorer(免责声明 - 我是作者),它允许您复制消息等。