[rabbitmq-discuss] Passing null for 'arguments' to queueBind()

Matthias Radestock matthias at rabbitmq.com
Wed Nov 10 16:36:55 GMT 2010


Michi Oshima wrote:
> I'm not sure if this is true.  My thinking is that if a consumer doesn't
> receive a message, the consumer cannot inspect its properties.  

The problems is that any consumers that *do* receive the message will 
learn the tokens of all other consumers that received the message too. 
They could subsequently bind to the exchange with these tokens as the 
binding key and receive messages intended for other consumers.

That is not a problem if there is a fixed set of groups of consumers, 
and messages are always addressed to all the members of a group. For 
that you'd simply assign each group a token, give that to consumers and 
get the consumers to bind with all the tokens they hold.

It *is* a problem though when the groups are formed dynamically on a per 
message basis, i.e. when each consumer has a unique secret token, known 
to the producer, and the producer constructs the recipient group of the 
message on the fly by including all the intended recipient's tokens in 
the message headers.



More information about the rabbitmq-discuss mailing list