[rabbitmq-discuss] Spying on "mandatory" messages

Charly Hamy charly.hamy at gmail.com
Thu Mar 24 14:35:35 GMT 2011

Hi all,

I'm currently using RabbitMQ to "build" a software platform allowing various
components to plug and communicate to each-other on two modes :
request/response ("point to point") and pub/sub.

For the req/res scenario, I'm using the mandatory flag on my messages, so
that sending a request message to a disconnected component (no corresponding
queue declared on the broker) returns an error to the sender. This works as

But now, I would want to plug new components to spy on those flows of
requests and responses, without interfering with the ongoing
communications... which is not by default compatible with my use of the
mandatory flag : when a "spy" component is monitorng request/response
messages, those messages end-up in its queue, then even if the actual target
component for those messages is not present on the broker (no queue), no
error is returned to the sender.

What I'm looking for is a way to have "mandatory" messages delivered to a
queue bound to an exchange with a special kind of binding, so that the
delivery to the queue doesn't count as one, from the exchange point of view,
and so that a "no delivery" error may still be returned to the sender, if no
queue with a matching standard binding to that exchange stores the message.

I've started to dive into RabbitMQ's source code, but before spending too
much energy into this I wanted to know if there was any simpler solution to
my problem - some secret binding parameter, a plug-in... - and if that idea
seemed reasonable to the RabbitMQ gurus :)

Thanks for your help!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110324/73ee8cde/attachment.htm>

More information about the rabbitmq-discuss mailing list