Is the batched message dispatch with rabbitmq atomic?


Is this batched message dispatch ensure atomicity when using the rabbitmq transport?

AKA do they all get sent or nothing gets sent?

While NServiceBus does have batched dispatch, RabbitMQ does not have a way to transactionally send a batch of messages. This means that there is no way to guarantee an all-or-nothing transmission of the batch.

If you have a batch of 10 messages, the first 9 could be sent, and then there is an error while sending the 10th message. That will cause NServiceBus to retry the entire batch.