Found the culprit. The issue was in the TestCode

The prefetch limit was not getting set correctly. Setting it through the
props file was not happening.
I tried with explicit setting of this property through the following, and
the concurrency worked as expected

*((ActiveMQConnectionFactory)connectionFactory).getPrefetchPolicy().setQueuePrefetch(1);*

I did another negative test by setting the prefetch limit to 10 ( the number
of consumer sessions is 3), and found the processing happening sequentially.


*Take away* : If the prefetch limit is more than 1, AMQ would tend to
dispatch the messages to a single consumer session, even though there are
multiple active consumer sessions (each with a different
MessageConsumer/Listener on the same queue) available.

--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Messages-getting-dispatched-in-a-single-thread-tp4252635p4268445.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to