On Thu, May 27, 2010 at 1:19 PM, odysseyfx <i...@bradwillard.com> 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 > > http://activemq.apache.org/slow-consumer-handling.html > and > http://activemq.apache.org/virtual-destinations.html > > 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: http://activemq.apache.org/producer-flow-control.html Bruce -- perl -e 'print unpack("u30","D0G)u8...@4vyy9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*" );' ActiveMQ in Action: http://bit.ly/2je6cQ Blog: http://bruceblog.org/ Twitter: http://twitter.com/brucesnyder