You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by Madfrog <tz...@gmail.com> on 2008/06/05 12:04:38 UTC

How Producer Flow Control works in activeMQ 5.1

Dear sir:
        Non-persistent messages will eventually fill up the memory made
available for queues, and persistent messages will run out of allocated
storage space and both situations pose risks to the stability of the message
server and the entire distributed system. In order to ensure stability, many
JMS vendors implement ‘flow control’ mechanisms that limit resource
usage under heavy load.
        So, I search in the forum of ActiveMQ,and found this:
        As of ActiveMQ 5.0, we can now individually flow control each
producer on a shared connection without having to suspend the entire
connection. Messages that are sent synchronously will automatically use per
producer flow control in
http://activemq.apache.org/producer-flow-control.html.
        And I alse see the the ActiveMQMessageProducer code.
        However, I can not understand the flow control mechanism in
ActiveMQ,
        Could someone kind enough to help me? :)
-- 
View this message in context: http://www.nabble.com/How-Producer-Flow-Control-works-in-activeMQ-5.1-tp17666469s2354p17666469.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.


Re: How Producer Flow Control works in activeMQ 5.1

Posted by Hiram Chirino <hi...@hiramchirino.com>.
So producer flow control works as follows:  The producer has a window
that gets smaller each time he sends a message.  The client will stop
sending once that window closes.  When the broker has capacity, hes
sends commands back to the producer to expand his window.

Regards,
Hiram

On Thu, Jun 5, 2008 at 6:04 AM, Madfrog <tz...@gmail.com> wrote:
>
> Dear sir:
>        Non-persistent messages will eventually fill up the memory made
> available for queues, and persistent messages will run out of allocated
> storage space and both situations pose risks to the stability of the message
> server and the entire distributed system. In order to ensure stability, many
> JMS vendors implement 'flow control' mechanisms that limit resource
> usage under heavy load.
>        So, I search in the forum of ActiveMQ,and found this:
>        As of ActiveMQ 5.0, we can now individually flow control each
> producer on a shared connection without having to suspend the entire
> connection. Messages that are sent synchronously will automatically use per
> producer flow control in
> http://activemq.apache.org/producer-flow-control.html.
>        And I alse see the the ActiveMQMessageProducer code.
>        However, I can not understand the flow control mechanism in
> ActiveMQ,
>        Could someone kind enough to help me? :)
> --
> View this message in context: http://www.nabble.com/How-Producer-Flow-Control-works-in-activeMQ-5.1-tp17666469s2354p17666469.html
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>
>



-- 
Regards,
Hiram

Blog: http://hiramchirino.com

Open Source SOA
http://open.iona.com