Hi,
while playing with setting the prefetch value for consumers I noticed two
unclear situations:
1) From my understanding from
http://activemq.apache.org/slow-consumer-handling.html 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
confusing.
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)
http://activemq.apache.org/slow-consumer-handling.html 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 http://activemq.apache.org/what-is-the-prefetch-limit-for.html 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!
Felix
--
View this message in context: http://www.nabble.com/Prefetch-documentation-mismatch-tp25664715p25664715.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
|