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