camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From deepak_a <>
Subject Query on Multiple Producers & one consumer (use of throttling)
Date Wed, 15 May 2013 12:26:27 GMT

In our system, Camel produces JMS messages from integrated endpoints, which
are consumed by EJB MDBs.   
The EJB application in-turn produces new JMS messages, which are consumed by
Camel to send to other integrated endpoints (eg. WebSphere MQ).   
We use transacted routes, and Atomikos as XA transaction coordinator. 
ActiveMQ 5.6.0, Camel 2.9.0. 

At most only one Queue can be mapped to a single EJB MDB. 

So effectively each EJB consumes messages from a Queue - to which multiple
camel routes (publishers) have published messages. 

I want to ensure that each producer(s) have the same level of priority in
publishing to the Queue. 
i.e. Assume - I have 3 producers, I don't want a scenario where Producer 1
and Producer 2 publish 1000 messages each followed by Producer 3. This will
result in the EJB MDB consuming messages produced by Producer 3 only after
previous 2000 messages. 

I have tried using throttling

But a concern is that the rate of throttling depends on how quickly the
messages are processed (by the consumer), if throttling is too slow and you
waste throughput.  Too fast and you risk producer flooding the

Is it possible to have a Camel route which does round-robin from 1 or more
JMS queues?



View this message in context:
Sent from the Camel - Users mailing list archive at

View raw message