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

Reply via email to