activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruce Snyder <>
Subject Re: Topic Memory Increases until broker dies
Date Thu, 27 May 2010 20:04:11 GMT
On Thu, May 27, 2010 at 1:19 PM, odysseyfx <> wrote:
> I've seen this problem fairly frequently.  This is caused by  a message
> producer on a topic creating messages faster than a consumer can consume
> them.  Those messages then get backed up on the broker internal dispatch
> queue for that session until all resources are consumed when the broker
> deadlocks.
> There are a few solutions to fix this problem that I have found: configuring
> and enabling flow control (which will throttle the message producer), enable
> a message eviction policy (where the broker will start throwing out the
> oldest messages of the lowest priority that aren't consumed fast enough), or
> finally you can actually use a durable subscriber if the message producer
> rate will slow down enough at some point in time for the consumers to catch
> up, otherwise you'll wind up with the same problem backing up on a queue
> instead.
> Another solution is Virtual Topics, and activemq has a whole page on exactly
> this scenario
> and
> I want to add that there is no tuning guide out there to get flow control to
> work properly, and it's a pain in the ass to setup.  You'll need someone who
> knows the code to help, there is no document on this but there should be.

Are you referring to TCP flow control?

Here's the producer flow control document:

perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"

ActiveMQ in Action:

View raw message