Thank you Gary, as always here and on the IRC you are most helpful.
Pending limit is 1.5… So it never gets to twice the prefetch amount, right ?
Regards,
Oleg
On 2013-09-19 15:33:55 +0000, Gary Tully said:
a topic consumer is only considered slow if twice the prefetch has
been dispatched to it w/o an ack. So you need lots of messages. that
is why the new abort policy was introduced. I wonder if that is the
problem? Or would it be that the
prefetchRatePendingMessageLimitStrategy is doing an effective ack. Try
without that.
On 18 September 2013 11:41, Oleg Dulin
<oleg.du...@gmail.com> wrote:
Here are my policies:
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry topic="X.>"
producerFlowControl="false"
prioritizedMessages="true">
</policyEntry>
<policyEntry queue="Y"
producerFlowControl="true"
prioritizedMessages="true"
storeUsageHighWaterMark="75">
</policyEntry>
<policyEntry topic="Z.>"
producerFlowControl="false"
advisoryForSlowConsumers="true">
<!--
amq:slowConsumerStrategy>
<amq:abortSlowConsumerStrategy checkPeriod="1000"
maxSlowDuration="30000"/>
</amq:slowConsumerStrategy
-->
<pendingMessageLimitStrategy>
<prefetchRatePendingMessageLimitStrategy
multiplier="1.5" />
</pendingMessageLimitStrategy>
</policyEntry>
<policyEntry tempQueue="true"
producerFlowControl="true"
memoryLimit="10mb"
advisoryForSlowConsumers="true" queuePrefetch="1024"
expireMessagesPeriod="10000"
gcInactiveDestinations="true">
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
I disguised the actual topics for confidentiality.
My test is this. I run the application and set a breakpoint in the consumer
on Z.FOO.BAR and my expectation is that Z.> policy would kick in and after
some time I get an advisory message on
ActiveMQ.Advisory.SlowConsumers.Topic.Z.FOO.BAR -- but I don't.
The same test works with simple Java program….
What am I doing wrong ?
--
Regards,
Oleg Dulin
http://www.olegdulin.com
--
Regards,
Oleg Dulin
http://www.olegdulin.com