activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Tully <>
Subject Re: jms.prefetchPolicy.queuePrefetch=1 means 2 outstanding messages?
Date Fri, 16 Nov 2012 11:26:55 GMT
you still need to tune the prefetch. the prefetch extension is used when a
message is delivered but not acked, such that the broker and dispatch
another message, the idea being that there will always be prefetch num
messages pending. It also allows a transaction batch to exceed the prefetch
So with prefetch=1, one message is dispatched, and when the broker gets a
delivered ack, it used the prefetch extension to deliver another. With
usePrefetchExtension false, it won't dispatch another message till the
original is acked.

On 16 November 2012 06:04, himanshu_s83 <> wrote:

> Ok. Sure, will try that. So I assume that with usePrefetchExtension=false,
> it
> doesn't matter whats the prefetch size. Correct?
> With Prefetch Size 0 we initially saw messages getting consumed faster but
> after a while, consumption rate became dead slow and queue size kept on
> increasing to a very high value, even after increasing consumers. So we
> reverted to earlier value of 1.
> We are using 5.0 version of ActiveMQ and consumers are created in a
> threadpool with each consumer thread having a dedicated session. Our
> threaded model is straightforward:
> while(1) {
> consumer.receive() //threads block here for new message
> processMessgae() //message get processed here
> acknowledge() //message get acknowledged
> }
> In addition to above, we are catching exceptions and calling
> "session.recover()" appropriately.
> --
> View this message in context:
> Sent from the ActiveMQ - User mailing list archive at


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