activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From AndreiD <>
Subject setProducerWindowSize inhibits propagation of ResAllocEx + producer stays forever blocked once it blocks
Date Wed, 31 Aug 2011 22:07:21 GMT
I've been experimenting with various flow control scenarios and all the
"standard" scenarios worked as expected (sync/async sends with
sendFailIfNoSpace set/not on the broker side) - I'm seeing
blocking/AllocationException/nothing in the client depending on the

What I really want is what the producerWindowSize promises - async sends +
flow control.
But if I set the producerWindowSize the producer blocks (after a few msgs)
and then it stays blocked even after a consumer successfully gets the
messages successfully received by broker.

My questions are:

1.Given my broker flow control settings, why does the producer block in the
first place? I've set the sendFailIfNoSpace=true in the broker, so I'm
expecting the ResourceAllocationException (which I do see on the broker
console) to be propagated to the client, once the producer window size limit
is reached and the broker throws the ex.

2.Why doesn't the producer unblock once a consumer consumes the msgs
successfully stored in the broker?

I'm using the prod/cons from the 5.4.2 examples, with 2 ProducerTool tweaks:
-I explicitely set DeliveryMode to NON_PERSISTENT

My broker config:
<policyEntry queue="TEST.FOO"
           <vmQueueCursor />  
    <systemUsage sendFailIfNoSpace="true">

Thanks in advance!

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message