Bug 618865 - Add support in the JMS client for "mode" option defined in the new addressing format
Summary: Add support in the JMS client for "mode" option defined in the new addressing...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-java
Version: Development
Hardware: All
OS: Linux
medium
medium
Target Milestone: 1.3
: ---
Assignee: Rajith Attapattu
QA Contact: MRG Quality Engineering
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-07-27 22:00 UTC by Rajith Attapattu
Modified: 2013-02-25 10:49 UTC (History)
1 user (show)

Fixed In Version: 0.10
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-02-25 10:49:41 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Rajith Attapattu 2010-07-27 22:00:22 UTC
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}}}";

Comment 1 Rajith Attapattu 2010-07-29 13:28:23 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.