Uses the RavenDB document database for storage.
Specific versions of RavenDB Persistence are tied to a major version of NServiceBus and also designed to work with a specific version of the RavenDB client library. When releasing a new major version of NServiceBus, the corresponding RavenDB Persistence release will use the last supported version of RavenDB, so that it is never necessary to upgrade both NServiceBus and RavenDB at the same time.
|NServiceBus||RavenDB Persistence||RavenDB Client|
See the NServiceBus Packages Supported Versions to see the support details for each version of RavenDB Persistence.
There are a variety of options for configuring the connection to a RavenDB Server. See RavenDB Connection Options for more details.
NServiceBus supports sharing the same RavenDB document session between Saga persistence, Outbox persistence, and business data, so that a single transaction can be used to persist the data for all three concerns atomically.
Shared session is only applicable to Saga and Outbox storage. It can be configured via
This optionally allows customization of the document session that is created for Saga, Outbox, and handler logic to share.
The session that is created is then made available.
DocumentStoreis created by the user at endpoint configuration time it's important to dispose it, by calling the
Dispose()method, before shutting down the endpoint process.
If the situation is special enough to warrant going against this recommendation, the following documentation will describe how to do so.
The RavenDB client requires a unique Guid to identify it to the Distributed Transaction Coordinator, and a method of storing DTC transaction recovery information in the case of process faults. By default, NServiceBus uses
IsolatedStorageTransactionRecoveryStorage as its transaction recovery storage. Under certain high-load situations, this has been known to result in a
In order to set DTC settings that are safe for production use, refer to Setting RavenDB DTC settings manually.
The behavior of the RavenDB subscription persistence differs from other NServiceBus persisters in the way it handles versioning of message assemblies. It's important to understand this difference, especially when using a deployment solution that automatically increments assembly version numbers with each build.
To learn about message versioning as it relates to the RavenDB subscription persister, refer to RavenDB subscription versioning.
Open a web browser and type the URL of the RavenDB server. This opens the RavenDB Studio.