0
votes

I have the following problem.

My program sends messages directly to the Queue (without exchange). I need to monitor incoming of new messages and send them to other Queue without removing them from source queue.

I don't have access to program code, so I'm not able to publish messages to exchange first.

Is it possible to solve this problem using the management web interface of RabbitMQ?

I tried to use shovel plugin, but it removes all messages from source queue after ack.

1

1 Answers

2
votes

First to clear up few things:

My program sends messages directly to the Queue (without exchange) This is not true, at the very least (and most likely in this case) nameless exchange is used.

removes all messages from source queue after ack this is by design and therefore perfectly fine.

You should never keep messages in the queue, queue is made to be consumed. As Derick Bailey says here

RabbitMQ is not a database. RabbitMQ is a message broker and queueing system.

on the same link you will find your answer. I cannot give a concrete one since you didn't provide motivation, but whatever it is keeping messages in the queue is never good!

Maybe you want to log/store your message first and then process it with the consequence of processing being some 3rd action or whatever...