activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yenki <yan...@gmail.com>
Subject Fast producers,slow consumer... queue growing forever
Date Fri, 06 Mar 2009 14:16:49 GMT

Hi, for the last few days I’ve been trying to solve a fast producers / slow
consumer problem. I want a limited amount of messages fetch on the consumer
(this works) but I also want to have a limited amount of messages in the
queue itself (doesn’t work). I use ActiveMQ 4.1.2 Here is what I tried:

#1 Setup destinations policies
I added this to my activemq.xml

    <destinationPolicy>
      <policyMap><policyEntries>
          <policyEntry queue=">">
            <pendingMessageLimitStrategy>
              <constantPendingMessageLimitStrategy limit="10"/>
            </pendingMessageLimitStrategy>
	    <messageEvictionStrategy>
	      <oldestMessageEvictionStrategy/>
            </messageEvictionStrategy >
          </policyEntry>
      </policyEntries></policyMap>
    </destinationPolicy>

How can I know if my policies are applied? They don’t seem to be because
when I run my application my queue is growing until out of memory. What I
see from JMX…
-QueueSize of my queue growing forever (with prefetch of 20 & pending limit
of 10 I would expect a max of 30 right?)
-MaximumPendingMessageLimit=0 for the non-durable subscription to this queue


#2 Queue configurations
I tried to set MaximumPendingMessageLimit when I create the queue.
mySession.createQueue(“MyQueue” +
"?consumer.prefetchSize=20&consumer.maximumPendingMessageLimit=10");

What I see from JMX…
-QueueSize of my queue growing forever
-The value for the non-durable subscription to this queue are:
      MaximumPendingMessageLimit=10 
      PrefetchSize=20

#3 Memory limit
As a last resort I tried to set a memory limit on my policyEntry and on my
broker and it is still growing forever.
>From JMX I see the MemoryPercentageUsed always to 0 for both broker and
Queue. I run Broken embedded in the same VM than my application. Maybe it
can explain why.

Could someone help me make my PendingMessageLimit works so I don’t run out
of memory.
Thanks for your help

Yannick


-- 
View this message in context: http://www.nabble.com/Fast-producers%2Cslow-consumer...-queue-growing-forever-tp22373306p22373306.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message