camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raul Kripalani <r...@evosent.com>
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 <salemi@avaya.com> 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.

Regards,

*Raúl Kripalani*
Apache Camel PMC Member & Committer | Enterprise Architect, Open Source
Integration specialist
http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
http://blog.raulkr.net | twitter: @raulvkM

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