Rabbitmq 将消息从一个队列移动到另一个队列,而不删除它

Rabbitmq 将消息从一个队列移动到另一个队列,而不删除它,rabbitmq,Rabbitmq,我有以下问题 我的程序直接向队列发送消息(无需交换)。我需要监视新消息的传入,并将它们发送到其他队列,而无需将它们从源队列中删除 我无法访问程序代码,因此无法先将邮件发布到exchange 是否可以使用RabbitMQ的管理web界面解决此问题 我尝试使用Spoot插件,但它会在确认后删除源队列中的所有消息。首先要澄清一些事情: 我的程序直接向队列发送消息(无交换)这不是真的,至少(在这种情况下很可能)使用了匿名交换 在确认后从源队列中删除所有消息 这是出于设计,因此非常好 您不应将邮件保留在队

我有以下问题

我的程序直接向队列发送消息(无需交换)。我需要监视新消息的传入,并将它们发送到其他队列,而无需将它们从源队列中删除

我无法访问程序代码,因此无法先将邮件发布到exchange

是否可以使用RabbitMQ的管理web界面解决此问题


我尝试使用Spoot插件,但它会在确认后删除源队列中的所有消息。

首先要澄清一些事情:

我的程序直接向队列发送消息(无交换)
这不是真的,至少(在这种情况下很可能)使用了匿名交换

在确认后从源队列中删除所有消息
这是出于设计,因此非常好

您不应将邮件保留在队列中,队列是用来消费的。正如德里克·贝利所说

RabbitMQ不是数据库。RabbitMQ是一个消息代理和排队系统

在同一链接上,您将找到您的答案。我不能给出一个具体的例子,因为你没有提供动机,但不管是什么,让消息留在队列中都是不好的


也许您想先记录/存储您的消息,然后再处理它,处理结果是第三个动作或其他什么…

首先要澄清一些事情:

我的程序直接向队列发送消息(无交换)
这不是真的,至少(在这种情况下很可能)使用了匿名交换

在确认后从源队列中删除所有消息
这是出于设计,因此非常好

您不应将邮件保留在队列中,队列是用来消费的。正如德里克·贝利所说

RabbitMQ不是数据库。RabbitMQ是一个消息代理和排队系统

在同一链接上,您将找到您的答案。我不能给出一个具体的例子,因为你没有提供动机,但不管是什么,让消息留在队列中都是不好的


也许你想先记录/存储你的消息,然后再处理它,处理结果是第三个动作或其他什么…

这里有一个@derick bailey的标记尝试-自从提到:)好的,谢谢。我错了。我有以下情况。程序使用默认的直接交换将消息发布到某个队列(路由键是队列名称)。是否有任何方法可以监视传入源队列的新消息,并将它们发送到目标队列,而不必像我前面提到的那样从源中删除它们?PS:源队列也有从中提取消息的使用者。@seriks,嘿,没问题,这就是为什么如此,它上的每个人都在这里;)当然您可以使用web UI或rabbitmqctrl,但我不确定您是否可以在不检索消息的情况下查看消息的有效负载。也许有一些第三方插件,或者一些我不知道的东西可以让你做到这一点。。。正如我在回答中提到的,您可以编写另一个订户来截取、存储和转发消息。谢谢。是的,我认为可以使用队列中的消息而不从队列中检索消息的插件是我的解决方案,但我从未见过类似的东西@derick bailey的标记尝试——自从被提到:)好的,谢谢。我错了。我有以下情况。程序使用默认的直接交换将消息发布到某个队列(路由键是队列名称)。是否有任何方法可以监视传入源队列的新消息,并将它们发送到目标队列,而不必像我前面提到的那样从源中删除它们?PS:源队列也有从中提取消息的使用者。@seriks,嘿,没问题,这就是为什么如此,它上的每个人都在这里;)当然您可以使用web UI或rabbitmqctrl,但我不确定您是否可以在不检索消息的情况下查看消息的有效负载。也许有一些第三方插件,或者一些我不知道的东西可以让你做到这一点。。。正如我在回答中提到的,您可以编写另一个订户来截取、存储和转发消息。谢谢。是的,我认为可以使用队列中的消息而不从队列中检索消息的插件是我的解决方案,但我从未见过类似的东西