activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Niski <>
Subject Re: producer flow control and message cursors
Date Fri, 01 Oct 2010 22:13:44 GMT
Well, i may have spoken too soon. Tests with a queue's destination policy configured like this:

                    <policyEntry queue=">" producerFlowControl="true" memoryLimit="64mb">

indicate that the pendingQueuePolicy is ignored if producerFlowControl is enabled. The same
test (sending 10,000 messages to a queue that has no consumers) locks up at the same message
count, regardless of whether there's a pendingQueuePolicy or not, with this error in the log:
2010-10-01 09:39:51,081 | INFO  | Kaha Store using data directory /opt/activemq/data/localhost/tmp_storage
| org.apache.activemq.kaha.impl.KahaStore | default:memory:queue://inbound.tt2etl.q:memory
Usage Thread Pool
2010-10-01 09:41:04,855 | INFO  | Usage Manager memory limit reached on queue://inbound.tt2etl.q.
Producers will be throttled to the rate at which messages are removed from this destination
to prevent flooding it. See for more
info | | ActiveMQ Transport: tcp:///

Setting producerFlowControl="false" changes the behavior - messages continue to be accepted
by the queue, until a consumer starts or AMQ actually runs out of heap and the producer's
connection is broken.

Joe Niski
IS Development |  NWEA

PHONE 503.212.3382  |  FAX 503.639.7873

NWEA.ORG<3D%22>  |  Partnering to Help All Kids Learn

On 09/29/2010 09:08 AM, Joe Niski wrote:

Thanks for the clarification, Dejan.

*Joe Niski
*IS Development |  NWEA

PHONE 503.212.3382  | FAX 503.639.7873

NWEA.ORG <3D%22> ** | Partnering to Help All Kids

On 09/29/2010 01:29 AM, Dejan Bosanac wrote:
> No, producer flow control is on by default with store based cursor and
> it will block producers when queue limits are hit. You can
> additionally configure it so that send() method of the producer will
> throw an exception in that case.
> Cheers
> --
> Dejan Bosanac -
> Open Source Integration -
> ActiveMQ in Action -
> Blog -
> On Tue, Sep 28, 2010 at 7:43 PM, Joe Niski <><>
> > But using the default store-based cursor requires disabling Producer
> Flow Control, correct?

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