Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Novice
Description
Currently, when publishing a message through Camel there is no way make sure that the message was actually delivered to appropriate queues which does not meet the reliability requirements of certain mission-critical applications. While there are two ways of doing this - AMQP transactions and RabbitMQ's Confirms - the former is considered overly heavyweight and latter is preferred as per RabbitMQ's documentation.
New configuration properties should be added to RabbitMQ endpoint - a boolean property for enabling publisher acknowledges and a long property for configuring a timeout (in most cases the publisher will not want to wait forever for a confirmation).
I am almost done with the implementation - the only thing left to do is to perform a bit of code cleanup and add a few integration tests to verify that the acknowledges are working correctly.