activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Gies <>
Subject Re: ActiveMQ flow control and JMS
Date Thu, 02 Apr 2009 18:57:46 GMT
Hi there,

as for the first question. AFAIK the methods you mention just send  
advisory messages
that you could monitor for the moment. I could imagine you could use  
the method hooks for implementing
a broker plugin that automatically disconnects slow consumers for  

As for the second question, I am not sure what kind of behavior you  
desire. If you use memory limits
and use transacted sessions, the memory kind of must match the biggest  
transactions you want to
perform. As the commit is outstanding the messages are not visible to  
the client and therefore no consumer gets them.
Are you suggesting to abort the transaction when the memory buffer is  
full and no commit is issued ?


On Apr 2, 2009, at 10:12 AM, ffrenchm wrote:

> Hello,
> I would like to get some details on how can work the flow control  
> through
> JMS.
> For example I see there is two methods in the BasicDestination class  
> which
> are theorically called by the broker to slow down the producer
> (fastProducer) or speed up the consumer (slowConsumer). The problem  
> is that
> I don't know exactly what effect these methods have on the JMS  
> client. Is
> the behavior internal between ActiveMQ JMS API implementation and it's
> broker or do we need to add some code on our JMS client to get the
> notifications sended by the ActiveMQ broker ?
> Another question I have is about a test I done few days ago. I have  
> one
> consumer and one producer on a queue which are using transacted  
> exchange.
> Memory limit on the broker is defined like the default (5MB). My aim  
> was to
> send a big amount of message before comiting to check the ActiveMQ  
> behavior.
> The problem was I sended to much messages - 500 messages of 16KB. The
> ActiveMQ broker was locked because it get its memory limit after 300
> messages of 16KB, then sender was blocked too and could not commit and
> naturally the receiver had nothing to get on the broker... So this  
> is a kind
> of big deadlock. Is there anyway to solve this problem without  
> increasing
> the memory limit of the broker (which from my point of view is not a
> solution) ?
> ++
> -- 
> View this message in context:
> Sent from the ActiveMQ - User mailing list archive at

Mit freundlichen Grüssen - Kind Regards
Andreas Gies
Principal Consultant
Open Source Center of Competence

Progress Software GmbH
Agrippinawerft 26
50678 Köln

Direct Line 	+49 (0)9953 980349
Mobile      	+49 (0)170 5759611
Skype        	+44 (0)20 3239 2922
Skype       	+353 (0)1 443 4971
Skype       	+1 (0)781 262 0168

Progress Software GmbH
Sitz der Gesellschaft: Agrippinawerft 26, 50678 Koeln;
Niederlassung: Fuerstenrieder Str. 279, 81377 Muenchen
Amtsgericht Koeln, HRB 15620; 
Geschaeftsfuehrung: David Ireland

View raw message