I'm using rabbitmq server 2.1.0 and rabbitmq java client 2.1.0.

I'm currently exploring 'headers' exchange type. I'd publish a message with
argument table set to 'A' for example, with the intent that consumer with
the matching argument 'A' would receive the message. And those consumers
who do not specify 'A' would not get the message.

I'm finding that a consumer ends up receiving all messages if I pass null as
the value for the 'arguments' parameter. I am using the following
queueBind() method of the Channel interface:

AMQP.Queue.BindOk queueBind(java.lang.String?queue,

throws java.io.IOException

1. Is this intended? That is, I merely have to specify null for 'arguments'
to receive all messages.
2. Is there any way to prevent a client from subscribing to all messages?
3. Is this an operator error? Am I setting things up incorrectly?

What I'm trying to achieve is some degree of message privacy. Consumer A
would put the key 'A' to argument to receive all messages meant for A, and
Consumer B would put the key 'B' to argument to receive all messages meant
for B. Consumer A is prevented from receiving messages meant for Consumer
B, simply because he is ignorant of the key 'B'.

4. Is there a better way to achieve message privacy?

View this message in context: http://old.nabble.com/Passing-null-for-%27arguments%27-to-queueBind%28%29-tp30162963p30162963.html
Sent from the RabbitMQ mailing list archive at Nabble.com.

Search Discussions

Discussion Posts

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 17 | next ›
Discussion Overview
grouprabbitmq-discuss @
postedNov 8, '10 at 5:34p
activeNov 18, '10 at 6:44p



site design / logo © 2022 Grokbase