Franz.Common.Messaging.RabbitMQ
1.7.4
dotnet add package Franz.Common.Messaging.RabbitMQ --version 1.7.4
NuGet\Install-Package Franz.Common.Messaging.RabbitMQ -Version 1.7.4
<PackageReference Include="Franz.Common.Messaging.RabbitMQ" Version="1.7.4" />
<PackageVersion Include="Franz.Common.Messaging.RabbitMQ" Version="1.7.4" />
<PackageReference Include="Franz.Common.Messaging.RabbitMQ" />
paket add Franz.Common.Messaging.RabbitMQ --version 1.7.4
#r "nuget: Franz.Common.Messaging.RabbitMQ, 1.7.4"
#:package Franz.Common.Messaging.RabbitMQ@1.7.4
#addin nuget:?package=Franz.Common.Messaging.RabbitMQ&version=1.7.4
#tool nuget:?package=Franz.Common.Messaging.RabbitMQ&version=1.7.4
Franz.Common.Messaging.RabbitMQ
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: 1.7.4
π 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
| 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 (>= 1.7.4)
- Franz.Common.Hosting (>= 1.7.4)
- Franz.Common.Messaging (>= 1.7.4)
- Franz.Common.Messaging.Hosting (>= 1.7.4)
- Franz.Common.Reflection (>= 1.7.4)
- Microsoft.Extensions.Options (>= 10.0.0)
- RabbitMQ.Client (>= 7.2.0)
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.