Why does my JMS route only consume one message at once?

The default JMS endpoint configuration defines concurrentConsumers to be 1 so only 1 message is processed concurrently at any point in time. To change this to make things more concurrent, just configure this value; either at the JMS component level or endpoint level.

E.g.

from("activemq:SomeQueue?concurrentConsumers=25").
  bean(SomeCode.class);