Shuttle.Esb.RabbitMQ
20.0.0
Prefix Reserved
dotnet add package Shuttle.Esb.RabbitMQ --version 20.0.0
NuGet\Install-Package Shuttle.Esb.RabbitMQ -Version 20.0.0
<PackageReference Include="Shuttle.Esb.RabbitMQ" Version="20.0.0" />
<PackageVersion Include="Shuttle.Esb.RabbitMQ" Version="20.0.0" />
<PackageReference Include="Shuttle.Esb.RabbitMQ" />
paket add Shuttle.Esb.RabbitMQ --version 20.0.0
#r "nuget: Shuttle.Esb.RabbitMQ, 20.0.0"
#:package Shuttle.Esb.RabbitMQ@20.0.0
#addin nuget:?package=Shuttle.Esb.RabbitMQ&version=20.0.0
#tool nuget:?package=Shuttle.Esb.RabbitMQ&version=20.0.0
RabbitMQ
PM> Install-Package Shuttle.Esb.RabbitMQ
This RabbitMQ implementation follows the at-least-once delivery mechanism supported by Shuttle.Esb.
If necessary you may want to use an outbox for a store-and-forward solution. By using a transactional outbox such as the Shuttle.Esb.Sql.Queue implementation you could roll back sending of messages on failure.
Installation
If you need to install RabbitMQ you can <a target='_blank' href='https://www.rabbitmq.com/download.html'>follow these instructions</a>.
Configuration
The URI structure is rabbitmq://configuration-name/queue-name.
services.AddRabbitMQ(builder =>
{
builder.AddOptions("local", new RabbitMQOptions
{
Host = "127.0.0.1",
VirtualHost = "/",
Port = -1,
Username = "shuttle",
Password = "shuttle!",
PrefetchCount = 25,
QueueTimeout = TimeSpan.FromMilliseconds(25),
RequestedHeartbeat = TimeSpan.FromSeconds(30),
ConnectionCloseTimeout = TimeSpan.FromSeconds(1),
OperationRetryCount = 3,
UseBackgroundThreadsForIO = true,
Priority = 0,
Persistent = true,
Durable = true
});
});
The default JSON settings structure is as follows:
{
"Shuttle": {
"RabbitMQ": {
"local": {
"Host": "127.0.0.1",
"VirtualHost": "/",
"Port": -1,
"Username": "shuttle",
"Password": "shuttle!",
"PrefetchCount": 25,
"QueueTimeout": "00:00:25",
"RequestedHeartbeat": "00:00:30",
"ConnectionCloseTimeout": "00:00:01",
"OperationRetryCount": 3,
"UseBackgroundThreadsForIO": true,
"Priority": 0,
"Persistent": true,
"Durable": true
}
}
}
}
Options
| Option | Default | Description |
|---|---|---|
Host |
The RabbitMQ host to connect to. | |
VirtualHost |
"/" |
The virtual host to connect to. |
Port |
-1 | Specifies the port to connect to. A value of -1 represents AmqpTcpEndpoint.UseDefaultPort. |
Username |
The username to send as a credential. | |
Password |
The password to send as a credential. | |
PrefetchCount |
25 | Specifies the number of messages to prefetch from the queue. |
QueueTimeout |
00:00:25 |
How long to wait when retrieving a message from the queue before timing out and returing null. |
RequestedHeartbeat |
00:00:30 |
Heartbeat timeout to use when negotiating with the server. |
ConnectionCloseTimeout |
00:00:01 |
The duration to wait wait for connections to be closed. |
OperationRetryCount |
3 | How many times to retry relevant queue operations in the event that they fail. Once the retries have run out the original exception is thrown. |
UseBackgroundThreadsForIO |
true |
Determines whether backgrounds threads are used for the I/O loop. |
Priority |
0 | Determines the number of priorities (x-max-priority) supported by the queue. |
Persistent |
true | Determines whether messages will be persisted. Please be sure of the possible consequences before setting to 'false'. |
Durable |
true | Determines whether the queue is durable. Please be sure of the possible consequences before setting to 'false'. |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
- RabbitMQ.Client (>= 7.0.0)
- Shuttle.Esb (>= 20.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 20.0.0 | 326 | 2/2/2025 |
| 15.0.0 | 190 | 8/5/2024 |
| 14.0.1 | 190 | 5/3/2024 |
| 14.0.0 | 209 | 4/30/2024 |
| 13.2.1 | 1,140 | 12/1/2022 |
| 13.2.0 | 1,031 | 9/16/2022 |
| 13.1.0 | 1,008 | 9/11/2022 |
| 13.0.0 | 1,051 | 9/4/2022 |
| 12.0.1 | 1,235 | 4/9/2022 |
| 12.0.0 | 1,093 | 3/21/2022 |
| 11.0.7 | 4,842 | 1/20/2021 |
| 11.0.6 | 1,195 | 11/27/2020 |
| 11.0.5 | 1,317 | 9/7/2020 |
| 11.0.4 | 1,303 | 7/19/2020 |
| 11.0.3 | 1,290 | 5/21/2020 |
| 11.0.2 | 1,271 | 4/28/2020 |
| 11.0.1 | 7,122 | 8/10/2019 |
| 11.0.0 | 1,652 | 6/21/2019 |
| 10.0.15 | 40,719 | 10/28/2018 |
| 10.0.14 | 1,602 | 10/17/2018 |
| 10.0.13 | 1,640 | 10/15/2018 |
| 10.0.12 | 1,623 | 10/13/2018 |
| 10.0.10 | 1,665 | 10/8/2018 |
| 10.0.9 | 1,635 | 10/6/2018 |
| 10.0.8 | 1,646 | 9/22/2018 |
| 10.0.7 | 1,742 | 8/26/2018 |
| 10.0.6 | 2,132 | 7/4/2018 |
| 10.0.5 | 2,117 | 4/12/2018 |
| 10.0.4 | 2,162 | 4/8/2018 |
| 10.0.3 | 2,154 | 2/13/2018 |
| 9.0.1 | 1,873 | 8/6/2017 |
| 8.0.2 | 1,835 | 5/15/2017 |
| 8.0.1 | 2,339 | 4/13/2017 |
| 8.0.0 | 1,848 | 3/24/2017 |
| 7.0.0 | 2,430 | 10/4/2016 |
| 6.0.5 | 2,486 | 7/23/2016 |
| 6.0.4 | 1,996 | 6/21/2016 |
| 6.0.3 | 1,896 | 6/20/2016 |
| 6.0.2 | 1,827 | 6/4/2016 |
| 6.0.1 | 2,249 | 4/24/2016 |
| 6.0.0 | 2,016 | 4/24/2016 |
| 3.9.6 | 1,885 | 4/3/2016 |
| 3.9.5 | 2,088 | 3/22/2016 |