camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raul Kripalani <>
Subject Re: Incoming message from a JMS queue need to be processed in parallel but keep the ordering of messages
Date Wed, 17 Jul 2013 00:33:45 GMT
On Mon, Jul 15, 2013 at 6:42 PM, salemi <> wrote:

> I am not sure if I can use concurrent consumer option since I have to keep
> the order of messgaes for the buckets.

Message groups are meant specially for this scenario. A group is assign to
at most 1 consumer at a time. Therefore, until the consumer is not freed
from its current task, it will not process the next message.

I like your idea to have a route that calculates the Group header but doing
> that is it not going to be the bottleneck for the processing. I have to run
> at least 1000 messages per second trough camel.

No, because apart from being multithreaded, the route is asynchronous and
it simply pushes a message onto another queue. It doesn't wait for the
JavaSpaces processing to finish.

How can you grab 100 messages at the time from JMS in a route?

camel-jms / camel-activemq are based on Spring JMS which AFAIK doesn't
support JMS message batching. You could try out the camel-sjms (Simple JMS)
component which does support this pattern.

Or else, you could use the Aggregator EIP, but I don't see much value in
this particular scenario.


*Raúl Kripalani*
Apache Camel PMC Member & Committer | Enterprise Architect, Open Source
Integration specialist | | twitter: @raulvkM

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message