I am using Spring 3.1 and ActiveMQ 5.5.1 with Camel 2.9.0 although I can duplicate it with various different versions.
I do the following:
Put some messages on one queue (Queue2Queue.Inbound)
Add a JMS header and put it on a new queue (Queue2Queue.Inbound.0)
Read off the new queue with 20 threads
Put them on a third queue (Queue2Queue.DLQ)
Here is a snippet of the Camel setup.
My attached test case puts 10, 100 and 1000 messages on the queue then counts them.
The results I get are:
When I run in the embedded ActiveMQ I often see 200 messages missing.
When I run it on the deployed version I will see 1110 messages listed in the Web Console but only 867 when I drill down (or if I use a browser like HermesJMS).