On 28 January 2010 19:56, ws07 <[email protected]> wrote: > > Hi Gary, > > Thank you for answering my question. > Currently, I try to use producer flow control and memory limit as your > suggestion. > I've already set producer window size because I use Async Sends and > non-persistent messages: > > connectionFactory.setProducerWindowSize(1048576); > > I have a question about producer flow control. It will only be activated > when the memory limit are reached? So, if the memory limit have not been > reach, I can continue flood the broker without any control. Do I understand > this correctly? > > That is correct.
> Thanks, > > Pete. > > > Gary Tully wrote: > > > > Increase the memory given to the jvm and give 60% of that memory to your > > queue through a memory limit. you are seeing producer flow control in > > action > > when the memory limits are reached but for best thought put you should > try > > and keep all messages in memory. > > see: http://activemq.apache.org/producer-flow-control.html and > > http://activemq.apache.org/my-producer-blocks.html > > > > 2010/1/19 ws07 <[email protected]> > > > >> > >> Hello, > >> > >> I have a problem when I submit a huge number of messages to > >> my consumer class. The queue of my consumer is alway full. > >> This results in the producer is blocked. > >> > >> I use Activemq verion 5.1. Non-persistent deliverly is set at producer > >> and > >> I > >> receive message > >> asynchronously by using onMessage(Message message). > >> My consumer class only receive message and send message to other jms > >> client you can see my consumer source code in the file attached. > >> http://old.nabble.com/file/p27220656/Consumer.java Consumer.java > >> > >> Because I'd like to get the best throughput, I try to set > >> > >> connectionFactory like this: > >> > >> connectionFactory.setAlwaysSessionAsync(true); > >> connectionFactory = new ActiveMQConnectionFactory( > >> ActiveMQConnection.DEFAULT_USER, > >> ActiveMQConnection.DEFAULT_PASSWORD, > >> "vm://localhost?async=false"); > >> > >> connectionFactory.setAlwaysSessionAsync(true); > >> connectionFactory.setDispatchAsync(false); > >> > >> > >> Any ideas to solve this problem? > >> -- > >> View this message in context: > >> > http://old.nabble.com/Bottleneck-problem-when-send-non-persistent-async-message-tp27220656p27220656.html > >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. > >> > >> > > > > > > -- > > http://blog.garytully.com > > > > Open Source Integration > > http://fusesource.com > > > > > > -- > View this message in context: > http://old.nabble.com/Bottleneck-problem-when-send-non-persistent-async-message-tp27220656p27358785.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- http://blog.garytully.com Open Source Integration http://fusesource.com
