使用RabbitMQ作为代理,我想将所有消息从一个队列复制到另一个队列以进行测试/调试。通过RabbitMQ Web管理控制台/ CLI最简单的方法是什么?
P.S。在用于指定队列的Web控制台下,我只能移动消息,而不能复制消息到新队列。
答案 0 :(得分:2)
当我需要执行此类任务时,请执行以下操作(假设您要复制参考队列中的所有消息):
但这确实意味着,如果消息通过其正常流到达参考队列,它们将最终出现在队列的顶部,而“复制的”消息则在后面/与它们混合在一起。
答案 1 :(得分:1)
Go to http://localhost:15672/#/queues 1. create vhost (vhost=testhost) 2. create two queue using vhost( Test1, Test2) 3. Create exchange Test_exchnage: http://localhost:15672/#/exchanges 4. bind these queue(Test1 & Test2) on Test_exchnage 5. install shovel 6. sudo rabbitmq-plugins enable rabbitmq_shovel 7. sudo rabbitmq-plugins enable rabbitmq_shovel_management 8. add shovel using admin shovel tab URI: amqp://{user}:{pass}@{localhost}:5672/vhost(this is for reference queue which u want to create copy, vhost if it has ) source Destination URI: amqp://user:pass@localhost:5672/Test_exchnage Queue Name: “Test_exchnage” you can can send msg to your reference queue.
答案 2 :(得分:0)
有一个商业工具QueueExplorer(免责声明-我是作者),它可以让您复制消息以及其他内容。
答案 3 :(得分:0)
如果交换是直接交换,只需使用相同的路由密钥创建另一个队列