Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Transactions and delivery guarantees

Target Version: NServiceBus 7.x
Standard support for version 7.x of NServiceBus has expired. For more information see our Support Policy.

The RabbitMQ transport supports the following transport transaction modes:

  • Transport transaction - receive only
  • Unreliable (transactions disabled)

Transport transaction - receive only

In ReceiveOnly mode, messages are consumed in manual acknowledgment mode. Successfully processed messages are acknowledged via the AMQP basic.ack method, at which point the broker will remove them from the queue. Failed messages that need to be retried are re-queued via the AMQP basic.reject method.

Unreliable (transactions disabled)

Like in ReceiveOnly mode, messages are consumed in manual acknowledgment mode. Regardless of whether a message is successfully processed, it is acknowledged via the AMQP basic.ack method after the processing attempt. This means a message will be attempted once and moved to the error queue if it fails.