Hi all,

I'm looking at some fails reported by the Java System Testsuite when
run against the Qpid JMS Client.

One failing group is related to QueueBrowsers, for example
QueueBrowserAutoAckTest#testBrowsingWithSelector.

The test assumes that each invocation of QueueBrowser#getEnumeration()
produce a *distinct* browser which independently sees all the
(matching) messages on the queue.  This was true for the legacy 0-x
Qpid JMS client (each call to getEnumeration creates a server side
queue browser) but not so for the Qpid JMS Client.  The following code
behaves differently.

QueueBrowser browser = _clientSession.createBrowser(_queue);
final Enumeration enumeration1 = browser.getEnumeration();
final Enumeration enumeration2 = browser.getEnumeration();
assertNotSame(enumeration1, enumeration2)

The JMS 1.2 (and JMS 2.0) don't seem tremendously clear to me.

"The browse methods return a java.util.Enumeration that is used to
scan the queue’s messages. It may be an enumeration of the entire
content of a queue, or it may contain only the messages matching a
message selector."

However, from a quick look at the JMS RI, it looks like the Qpid JMS
Client follows the single enumeration approach.

I think the legacy client has wrong behaviour and the test wrong.
Any comments?

cheers Keith

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to