the memory limit puts a cap on the amount of memory a given destination can consume. If 70% of that limit is reached, message enqueue blocks pending release of some memory. If producerFlowControl is enabled, producers are blocked pending some memory release. The difference between the queue blocking and producerFlowControl is where the block occurs. A blocked destination is waiting on the broker, potentially blocking the connection. A blocked producer is blocked on the client, allowing other consumers or producers to use the connection.
2010/1/26 Fred Moore <fred.moor...@gmail.com> > Hi, > > going back to Cursors and > > http://activemq.apache.org/how-do-i-configure-activemq-to-hold-100s-of-millions-of-queue-messages-.html > ... > > ...can anyone shed some light on the actual role of memoryLimit in: > <policyEntry topic=">" producerFlowControl="false" memoryLimit="1mb"> > <policyEntry queue=">" producerFlowControl="false" memoryLimit="1mb"> > > ...moreover: *when* will producerFlowControl start slowing down consumers? > > Cheers, > F. > -- http://blog.garytully.com Open Source Integration http://fusesource.com