activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robillard, Greg L" <>
Subject ActiveMQ disconnects producer with large message throughput
Date Thu, 12 Aug 2010 15:59:51 GMT
Not certain where to begin.

using non-persistent queues
using openwire jms connections

Problem described:

Normal operation has about 30 clients connected receiving between 300 and 500 messages per
minute.  Problem occurs if a single client configures a large amount of data.  This can get
a single client to receive up to 10,000 messages per minute.  The message size is small, generally
at or under 1K.

Initially producerFlowControl was set to true, but this shut the producer down for everyone.
 ProducerFlowControl is now set to false.

The client queue size continues to fill (NotificationQueueSizeExceeded).  This happens primarily
on slower networks and client computers.  Faster networks and client computers can often handle
this data rate.  What I currently do, is trap this situation, and log the client off since
their client cannot keep up with the data rate.

The problem specifically is that sometimes, when a client is bringing in large amounts of
data,  activemq sometimes simply runs out of memory and shuts the producer down and all of
the clients.

Currently, the only way I have been able to recover from this is to restart activemq and the

I am looking for what needs to be done to keep activemq from running out of memory if these
large data rates happen when I am not using producerflowcontrol.   Additionally, how can I
recover if this situation happens.

I have attempted to increase the prefetch size, to increase throughput, to no avail.  I was
using vmQueueCursor, but am currently attempting fileQueueCursor.

Any suggestions or ideas would be of great help.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message