Franz.Common.Messaging.RabbitMQ
2.3.3
dotnet add package Franz.Common.Messaging.RabbitMQ --version 2.3.3
NuGet\Install-Package Franz.Common.Messaging.RabbitMQ -Version 2.3.3
<PackageReference Include="Franz.Common.Messaging.RabbitMQ" Version="2.3.3" />
<PackageVersion Include="Franz.Common.Messaging.RabbitMQ" Version="2.3.3" />
<PackageReference Include="Franz.Common.Messaging.RabbitMQ" />
paket add Franz.Common.Messaging.RabbitMQ --version 2.3.3
#r "nuget: Franz.Common.Messaging.RabbitMQ, 2.3.3"
#:package Franz.Common.Messaging.RabbitMQ@2.3.3
#addin nuget:?package=Franz.Common.Messaging.RabbitMQ&version=2.3.3
#tool nuget:?package=Franz.Common.Messaging.RabbitMQ&version=2.3.3
Franz.Common.Messaging.RabbitMQ
Messaging and distributed integration for the Franz.Common framework on .NET 10.
Overview
The Franz.Common.Messaging.RabbitMQ package provides messaging and distributed integration within Franz.Common. It is designed to compose with the rest of the framework rather than imposing unrelated infrastructure choices on every application.
Installation
dotnet add package Franz.Common.Messaging.RabbitMQ
Design principles
- Explicit composition: register only the capabilities the application needs.
- Clear boundaries: keep domain and application contracts independent from provider-specific infrastructure where the package's role permits it.
- Predictable behavior: make configuration, failure modes, and lifecycle ownership visible rather than relying on hidden conventions.
- Operational readiness: validate security, resilience, diagnostics, and compatibility for the actual deployment environment.
Usage and configuration
Follow the package-specific setup, configuration, and code examples below. Only configure external services when this package requires them, and keep secrets outside source control.
Package-specific guide
Franz now speaks RabbitMQ.
The same architectural contract used for Kafka applies here β one pipeline, one model, zero spaghetti.
RabbitMQ is just a transport. Franz does the rest.
π Getting Started
Install the package:
dotnet add package Franz.Common.Messaging.RabbitMQ
Register RabbitMQ messaging:
using Franz.Common.Messaging.RabbitMQ.Extensions;
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
{
services.AddRabbitMQMessaging(configuration);
}
π¦ Features
- Publisher & Sender via DI (
IMessagingPublisher,IMessagingSender) - Consumers as hosted listeners
- Inbox / Outbox support (MongoDB-backed)
- Transactional publishing (
IMessagingTransaction) - Replay strategies (default + extensible)
- Message context accessor for scoped metadata
- Enforced lifetimes to prevent invalid wiring
- Duplicate-safe DI registration
Kafka and RabbitMQ share the exact same messaging semantics in Franz.
βοΈ Philosophy
βWe donβt care about MQ.
We make it behave.β
Franz removes broker-specific complexity.
Choose Kafka or RabbitMQ β your application code does not change.
Current Version: v2.3.3
π v1.7.2 β Stability & Infrastructure Hardening
This release finalizes RabbitMQ as a first-class transport in Franz.
β Highlights
- Fully wired RabbitMQ infrastructure (publisher, consumers, hosted services)
- Inbox & Outbox validated with real MongoDB containers
- RabbitMQ now behaves identically to Kafka at the abstraction level
π§ Improvements
- Correct RabbitMQ.Client 7.x async channel handling
- Closed all DI wiring gaps in hosted services and tests
- All message builder strategies registered by default
- Deterministic startup / shutdown behavior
π§ͺ Reliability
- Tested against real RabbitMQ + MongoDB using Testcontainers
- No mocks. No shortcuts. Real brokers, real persistence.
Result: RabbitMQ is production-ready and battle-tested.
v1.6.20
- Migration to .NET 10
- Improved messaging DI patterns
- Updated RabbitMQ client
- Alignment of messaging abstractions across transports
v2.0.1 β Internal Modernization
- Messaging and infrastructure refactored for async, thread-safety, and modern .NET 10 patterns.
- All APIs remain fully backward compatible.
- Tests, listeners, and pipeline components modernized.
Dependency maintenance β October 2026
This project's dependency references were reviewed and updated as part of the repository-wide .NET 10 maintenance pass. The intended target framework and public API remain unchanged. Verify the resolved direct and transitive dependency graph through the repository's dependency validation workflow before publishing. See the central dependency upgrade record.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Franz.Common.DependencyInjection (>= 2.3.3)
- Franz.Common.Hosting (>= 2.3.3)
- Franz.Common.Messaging (>= 2.3.3)
- Franz.Common.Messaging.Hosting (>= 2.3.3)
- Franz.Common.Reflection (>= 2.3.3)
- Microsoft.Extensions.Options (>= 10.0.14)
- RabbitMQ.Client (>= 7.2.1)
- SharpCompress (>= 0.50.7)
- Snappier (>= 1.3.1)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Franz.Common.Messaging.RabbitMQ:
| Package | Downloads |
|---|---|
|
Franz.Common.Http.Messaging
Shared utility library for the Franz Framework. |
|
|
Franz.Common.Messaging.Hosting.RabbitMQ
Shared utility library for the Franz Framework. |
|
|
Franz.Common.Messaging.Sagas
Shared utility library for the Franz Framework. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.3.3 | 0 | 10/28/2026 |
| 2.3.2 | 3 | 10/27/2026 |
| 2.3.1 | 170 | 10/26/2026 |
| 2.3.0 | 219 | 7/21/2026 |
| 2.2.19 | 166 | 7/19/2026 |
| 2.2.18 | 177 | 7/19/2026 |
| 2.2.17 | 174 | 7/12/2026 |
| 2.2.16 | 175 | 7/2/2026 |
| 2.2.15 | 190 | 6/29/2026 |
| 2.2.14 | 177 | 6/29/2026 |
| 2.2.13 | 181 | 6/29/2026 |
| 2.2.12 | 173 | 6/28/2026 |
| 2.2.11 | 181 | 6/28/2026 |
| 2.2.10 | 173 | 6/28/2026 |
| 2.2.9 | 183 | 6/28/2026 |
| 2.2.8 | 182 | 6/28/2026 |
| 2.2.7 | 196 | 6/7/2026 |
| 2.2.6 | 180 | 6/6/2026 |
| 2.2.5 | 188 | 6/4/2026 |
| 2.2.4 | 176 | 6/3/2026 |