Red Hat Bugzilla – Bug 479114
document new qpid.exclusive-binding option for direct exchange type
Last modified: 2012-09-21 08:57:45 EDT
There is a new option supported in the bind operation on a direct exchange allowing the bound queue for a given key to be atomically updated.
E.g. Assume there is an exchange, e, and two queues q-a and q-b, with q-a
initially bound to e by key 'k'. We now wish to change the route for messages
with that key such that they now go to q-b. If we do bind(e, 'k', q-b), then
unbind(e, 'k', q-a), its possible that a message arriving after the bind and
before the unbind will be added to both queues. If on the other hand we do the
unbind before the bind, a message arriving between these two operations may be
With the new option we can update the queue bound to e with 'k' from q-a to q-b. This is atomic w.r.t message routing so if there is a concurren stream of incoming messages during the update then each message will be in one or other of the queues. No matching message will be lost and none will appear in both queues.
For details see the section 'Exclusive binding for key' in http://cwiki.apache.org/confluence/display/qpid/Cheat+Sheet+for+configuring+Exchange+Options
The original feature request is captured in https://bugzilla.redhat.com/show_bug.cgi?id=461761
This is now in the Messaging User's Guide.
(In reply to comment #3)
> This is now in the Messaging User's Guide.
Closed as fix already implemented