Not certain where to begin.

apache-activemq-5.3.2
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 producer.

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.

Greg

Reply via email to