[rabbitmq-discuss] Passing null for 'arguments' to queueBind()
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