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

Reply via email to