In the final 0-10 spec the no-local field was removed from the
message.subscribe command definition.
To get the python tests of that feature working over that final spec, I
have added the means to request similar behaviour. However rather than
passing an argument to the message.subscribe command, it is now passed
to the queue.declare command. Note the existing 'arguments' field (of
type map) is used for this so although the functionality is proprietary,
the wire protocol has not been modified; this is simply utilising an
intended extension point.
The functionality is only available on exclusive queues (which is why
queue.declare seemed a better place to me for the extra argument than
e.g. exchange.bind).
If an exclusive queue is declared with the added argument 'no-local'
specified (doesn't actually matter what the value is), then messages
published by the same connection as the session who 'owns' the queue
will not be enqueued but silently dropped. I think this will support the
necessary semantics for JMS; if not, or if an alternative approach is
preferred for some reason, shout and we can always change it.
- no-local and final 0-10 spec Gordon Sim
-