Camel-RabbitMQ support for multiple inflight exchanges without autoAck

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Camel-RabbitMQ support for multiple inflight exchanges without autoAck

Andreas Maragudakis
Hello,

Currently the RabbitConsumer, when the autoAck configuration is set to
false delivers 1 message, waits until the flow has finished and then
acknowledges it. After it finishes with the first message is able to
continue with the next message.
This does not scale well if you want to support multiple inflight
exchanges. The only solution around it, is to add more consumers.

I tested by applying the following changes
https://github.com/maragud/camel-rabbitmq/commit/9f695c1dff05b8e4cc1004ea242c210fd10e59b1
which could deliver up to the number of prefetched messages to each
consumer without receiving a acknowdgement.

This way, a route that uses 100 concurrent consumers could be converter to
a route that uses 1 consumer with prefetchCount=100


--
Andreas Maragudakis