Skip to content

Latest commit

 

History

History
55 lines (32 loc) · 2.15 KB

non-durable-messaging.md

File metadata and controls

55 lines (32 loc) · 2.15 KB
title summary component reviewed redirects related
Non-Durable Messaging
Information on how non-durable messaging affects the behaviors of endpoints and message delivery.
Core
2023-06-02
nservicebus/messaging/express-messages
samples/non-durable-messaging
transports/msmq/connection-strings

The use of non-durable messages involves relaxing message delivery guarantees in order to achieve better performance.

Warning

This can make an endpoint more susceptible to message loss during server crashes and restarts. See effect on transports for more details.

partial: enable

Effect on transports

Individual transports interpret "non-durable" messaging with a custom approach dependent on how the underlying technology functions.

MSMQ

The default behavior of MSMQ is to use the concept of Store and Forward. In this approach, messages are stored durably on disk at the sender and then delivered by MSMQ to the receiver. When non-durable messaging is used, the MSMQ transport sends messages in Express Mode. The underlying setting that is used to achieve this is to set Message.Recoverable to false.

Non-durable messages require the queues to be non-transactional. Use non-transactional queues by setting useTransactionalQueues to false in the transport connection string.

Note

When using non-transactional queues, an endpoint must be configured not to use transactions.

RabbitMQ

partial: rabbitmq

SQL Server

The SQL Server transport has no support for this setting and it is ignored.

Azure Service Bus

The Azure Service Bus transport have no support for this setting and it is ignored.

Azure Storage Queues

The Azure Storage Queues transport have no support for this setting and it is ignored.

Amazon SQS

The Amazon SQS transport have no support for this setting and it is ignored.