activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fehm <>
Subject Prefetch documentation mismatch
Date Tue, 29 Sep 2009 14:58:14 GMT


while playing with setting the prefetch value for consumers I noticed two
unclear situations:

1)  From my understanding from I can use the
PrefetchRatePendingMessageLimitStrategy to control the connected clients
prefetch limit (even they have specified something). If I connect a default
client with no prefetch limit set I would expect to see in jconsole for the
connected client the prefetch value of : 
1000*PrefetchRatePendingMessageLimitStrategy Value (I use a non-durable
client on a queue for non-persistent messages). But instead I see the same
1000 as if the broker policy hasn't changed anything. This is slightly
If I then start the consumer with DUPS_OK_ACKNOWLEDGE after the 500th
message an ack is send from the client. Why after 500 and not 1000 ? Are
messages acknowledged independent from the prefetch buffer ?

2)  (again the prefetch buffer) states :
"One minor difference with configuring this value; to simplify operation
with non-JMS clients such as with OpenWire the value of zero is ignored; so
the lowest value you can configure is 1."

But on is
explicitly advised for pooled consumer connections:
"Alternatively, reducing the prefetchSize to 0 will alleviate the problem"
I'm unfortunately in the situation where I have Openwire clients and have
massive sharing of one connection. 

I'd be glad if someone could open my eyes and clarify these two situations.

Thanks for help!

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message