我有以下问题。
我的程序直接将消息发送到队列(无需交换)。我需要监视新消息的传入并将它们发送到其他队列而不从源队列中删除它们。
我无法访问程序代码,因此我无法先发布消息进行交换。
是否可以使用RabbitMQ的管理Web界面解决此问题?
我尝试使用铲子插件,但是在ack之后它会从源队列中删除所有消息。
答案 0 :(得分:2)
首先要清理一些事情:
My program sends messages directly to the Queue (without exchange)
这不是真的,至少(在这种情况下很可能)使用无名交换。
removes all messages from source queue after ack
这是设计,因此非常好。
您永远不应该将消息保留在队列中,队列将被消耗。正如Derick Bailey所说here
RabbitMQ不是数据库。 RabbitMQ是一个消息代理和排队系统。
在同一个链接上,您将找到答案。我不能给出一个具体的,因为你没有提供动力,但不管它是什么让队列中的消息永远都不好!
也许你想先记录/存储你的消息,然后处理它,结果是处理第三个动作或其他什么......