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
