qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajith Attapattu <rajit...@gmail.com>
Subject Re: getEnumeration() creates new connections/consumers
Date Tue, 08 Mar 2011 16:57:34 GMT

I am trying to understand your use case a bit more in detail.
Perhaps the QueueBrowser may not be the optimal solution here.

(a) Are you only interested in just the new messages coming into the ring
queue ? i.e get notified about updates in a non-consuming manner ?
(b) Or do you need to look at the entire queue each time you invoke
getEnumeration() ?

If it's (a) then you can create a regular consumer using the addressing
syntax and use browse mode. Further you could use a message listener to
receive updates asynchronously as well.
Here is an example address string that does the above.

"my-ring-queue; {mode: browse}"  - where my-ring-queue is a ring queue that
already exists when you start the consumer.

Does that help ?



On Mon, Mar 7, 2011 at 12:55 PM, Kim Garcia <jsmam97@hotmail.com> wrote:

> Hello,
> I have a static ring queue which I am polling for messages. I created a
> QueueBrowser object and use it to call getEnumeration() to get all of the
> messages on the queue. This is in a while loop and I have it sleep for a
> short while in between iterations. Also I am using MRG 1.3.
> While this was running I didn't notice anything unusual in my application,
> but when I log onto the MRG server and monitor the queue size, rate the
> messages are enqueued/dequeued, ect, I noticed that the number of consumers
> was increasing. I put a print statement every time getEnumeration() is
> called and included a counter. I ran my app again and saw that as my
> getEnumeration() statement printed out and the counter increased, the
> numbers of consumers increased and the numbers matched.
> As a work around, I close the QueueBrowser and recreate it every time I
> want to call getEnumeration(). Has anyone else seen this happen?
> Thank you.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message