Description of problem: The mode option allows to specify whether messages should be consumed or read in browsing mode. All though JMS has a QueueBrowser class, it only allows messages to be browsed synchronously. The above option allows an end-user to leverage the MessageListener to browse message asynchronously. Ex. The following shows an example addressing string which creates a browse mode Consumer on a ring queue. "my-ring-queue; {create: always, mode: browse, " + "node: {x-bindings: [{exchange : 'amq.direct', key : test}], " + "x-declare:{'qpid.policy_type':ring, 'qpid.max_count':2}}}";
Fixed in upstream (tracked via QPID-2738) http://svn.apache.org/viewcvs?view=rev&rev=966284 http://svn.apache.org/viewcvs?view=rev&rev=980232 Git commit URL http://mrg1.lab.bos.redhat.com/cgit/qpid.git/commit/?id=86baa83209ccac2ff85c3cce04e2236b02cdf7ff http://mrg1.lab.bos.redhat.com/cgit/qpid.git/commit/?id=3a8148993ad2ae889af6746457856b0b44c36fc5 Steps to test ======================= To test this, you could use the address given in the description. 1. run o.a.q.example.Drain -f <address-string> 2. Send two messages to amq.direct exchange with rk=test Ex o.a.q.example.Spout -c MSG$num "amq.direct/test" 3. Observe that Drain prints the examples. 4. Shutdown drain and restart it, you should see the two messages again.