Hi Torsten & all I spend some time trying to get the constantPendingMessageLimitStrategy to work, but I didn't succeed.
I put the config for the topic like this: <policyEntry topic="enterpriseObjectChanges." topicPrefetch="10"> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="10"/> </pendingMessageLimitStrategy> </policyEntry> => the constantPendingMessageLimitStrategy is equal to the topic prefetch number, which is what should if I got it right. Yet, the queue stores more than 10 messages when the durable topic subscriber goes offline (I stopped my tests at around 30 each time). What am I missing? FYI, I based my work mostly on these pages: http://activemq.apache.org/slow-consumer-handling.html http://activemq.apache.org/what-is-the-prefetch-limit-for.html Thanks in advance Best, joseph On Sat, Dec 10, 2011 at 12:21 AM, jp [via ActiveMQ] <ml-node+s2283324n4178687...@n4.nabble.com> wrote: > Torsten Mielke-2 wrote > Once you reach an OutOfMemoryError in your JVM you should not assume that > anything continues to work. After an OOM all side effects and errors can > occur. > You will need to restart the JVM. > > I agree, and it's a work in progress. However, on the other hand, we would > like to be sure that the memory of the activemq topic doesn't get filled up > again in case it happens again somehow. > > Torsten Mielke-2 wrote > You could configure a message limit strategy (e.g. > constantPendingMessageLimitStrategy) so that the broker discards old > messages once a configurable limit has been reached. However these msgs will > then be lost. > See http://activemq.apache.org/slow-consumer-handling.html > > really nice, looks fine: I'll test it soon. In our case the message > consumers are "lost" anyway: loosing their messages isn't an issue, so it > looks like the perfect match for our need. > > Torsten Mielke-2 wrote > The main question is why do you run out of memory. Did you configure for > system wide and destination wide memory limits? Did you assign an overall > JVM heap memory (-Xmx) to the broker that is at least 30% higher than the > configured memoryUsage limit? > > actually activemq didn't run out of memory. Rather, the broker memory limit > was reached and then flow control kicked in stopping all message producers > to create new ones. This was a very odd situation for us because normally > the memory use of the 64Mb allocated is next to null. Hence this discussion. > > Torsten Mielke-2 wrote > You may also want to look at the ActiveMQ tuning guide [1] from FuseSource. > > [1] http://fusesource.com/docs/broker/5.5/tuning/front.html > > looks good once again, thanks a lot. I'll read it through. I guess I should > be able by now to squash this issue: thanks a lot! > > best > joseph > > ________________________________ > If you reply to this email, your message will be added to the discussion > below: > http://activemq.2283324.n4.nabble.com/OutOfMemory-in-messageConsumer-thread-activemq-running-out-of-memory-tp4175801p4178687.html > To unsubscribe from OutOfMemory in messageConsumer thread: activemq running > out of memory, click here. > NAML -- View this message in context: http://activemq.2283324.n4.nabble.com/OutOfMemory-in-messageConsumer-thread-activemq-running-out-of-memory-tp4175801p4246892.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.