Wolverine Integration — Durable Outbox & Retry
Granit.Notifications.Wolverine replaces the default in-process Channel<T> publisher with a durable IMessageBus-backed implementation. Notifications are persisted in the Wolverine outbox and survive application crashes.
[DependsOn(typeof(GranitNotificationsWolverineModule))]public class AppModule : GranitModule { }Local queues
Section titled “Local queues”The module configures two local queues:
| Queue | Message | Behavior |
|---|---|---|
notification-fanout | NotificationTrigger | Default parallelism |
notification-delivery | DeliverNotificationCommand | MaxParallelDeliveries (default 8) |
Retry policy
Section titled “Retry policy”Retry policy on NotificationDeliveryException:
| Attempt | Delay |
|---|---|
| 1 | 10 seconds |
| 2 | 1 minute |
| 3 | 5 minutes |
| 4 | 30 minutes |
| 5 | 2 hours |
See also
Section titled “See also”- Overview — package structure and setup
- Fan-out engine — what gets queued through Wolverine
- Configuration — durable transport options
- Wolverine messaging — full module reference (outbox, sagas, tenant context)
- Background jobs — Wolverine-backed scheduling