Hi,
We are using RabbitMQ for messaging huge amount of data. For good performance
multi acknowledgment of messages is used. Further we send messages from
RabbitMQ via EventManager for processing. After a batch we store results in
data base and acknowledge processed messages.
We would like to use Camel for connection to RabbitMQ but the acknowledgment of
messages is hard coded in RabbitMQConsumer. This class has the implementation
of com.rabbitmq.client.DefaultConsumer.handleDelivery that does acknowledgment
of a message right after calling process method. See code snippet below. Is it
possible to have the acknowledgment attached to the Exchange object or have
another possibility to acknowledge messages except auto acknowledgement?
Kind regards
Andre Reichert
Code snippet from org.apache.camel.component.rabbitmq.RabbitMQConsumer
123 consumer.getProcessor().process(exchange);
124
125 long deliveryTag = envelope.getDeliveryTag();
126 if (!consumer.endpoint.isAutoAck()) {
127 log.trace("Acknowledging receipt [delivery_tag={}]",
deliveryTag);
128 channel.basicAck(deliveryTag, false);
129 }
Andre Reichert
Senior Engineer
Map Community Platform
Phone: +49 6196 589 337
50° 9' 43" N. 8° 32' 1" E
HERE, a Nokia business
Place of Business: HERE Germany GmbH & Co. KG, Am Kronberger Hang 8, 65824
Schwalbach, Germany - Commercial Register: Amtsgericht Frankfurt am Main, HRA
43654; USt-ID-No.: DE 259 126 202; Managing Directors: Hans P.J. Gieszen,
Robertus A.J. Houben
CONFIDENTIALITY NOTICE
This e-mail and any attachments hereto may contain information that is
privileged or confidential, and is intended for use only by the individual or
entity to which it is addressed. Any disclosure, copying or distribution of the
information by anyone else is strictly prohibited. If you have received this
document in error, please notify us promptly by responding to this e-mail.
Thank you.