In-Memory Persistence

NuGet Package NServiceBus (7.x - 7.1)

Some scenarios require an in-memory persistence such as the development environment or a lightweight client not interested in durability across restarts:

endpointConfiguration.UsePersistence<InMemoryPersistence, StorageType.Sagas>();
endpointConfiguration.UsePersistence<InMemoryPersistence, StorageType.Subscriptions>();
endpointConfiguration.UsePersistence<InMemoryPersistence, StorageType.Timeouts>();
endpointConfiguration.UsePersistence<InMemoryPersistence, StorageType.Outbox>();
endpointConfiguration.UsePersistence<InMemoryPersistence, StorageType.GatewayDeduplication>();
All information stored in the In-Memory persistence is discarded when the process ends.
The Delayed Retries mechanism uses the timeout manager when a transport does not natively support delayed delivery. As Delayed Retries are enabled by default, using In-Memory persistence with a transport that uses the timeout manager has the risk of losing messages that have failed processing and are waiting for another retry attempt. Use In-Memory persistence only in scenarios where it is OK to lose messages.

Gateway deduplication

In-memory gateway deduplication persistence has no built-in cleanup.

Last modified