Does RabbitMQ support a predicament in which a received message acknowledgement is distributed around the DB transaction commit?

Presently we send ack after DB transaction commit. If service fails inbetween, we'll get data duplication - service can get exactly the same message again.

It is possible to pattern with this problem?


Yes it will, but do remember that RabbitMQ uses its very own DB for message storage (right now). To obtain RabbitMQ to transmit an ack towards the writer, use Texas mode. This really is recorded within the spec as well as on parts in our site.

If you wish to make use of your own DB then you might want to arrange it being an finish consumer for messages. Within this situation, you need to use your personal application-level ack.

Do you can email the rabbitmq-discuss for more information and questions.