CodeDesignPlus.Net.RabbitMQ.Abstractions
0.3.0-alpha.3
See the version list below for details.
dotnet add package CodeDesignPlus.Net.RabbitMQ.Abstractions --version 0.3.0-alpha.3
NuGet\Install-Package CodeDesignPlus.Net.RabbitMQ.Abstractions -Version 0.3.0-alpha.3
<PackageReference Include="CodeDesignPlus.Net.RabbitMQ.Abstractions" Version="0.3.0-alpha.3" />
paket add CodeDesignPlus.Net.RabbitMQ.Abstractions --version 0.3.0-alpha.3
#r "nuget: CodeDesignPlus.Net.RabbitMQ.Abstractions, 0.3.0-alpha.3"
// Install CodeDesignPlus.Net.RabbitMQ.Abstractions as a Cake Addin #addin nuget:?package=CodeDesignPlus.Net.RabbitMQ.Abstractions&version=0.3.0-alpha.3&prerelease // Install CodeDesignPlus.Net.RabbitMQ.Abstractions as a Cake Tool #tool nuget:?package=CodeDesignPlus.Net.RabbitMQ.Abstractions&version=0.3.0-alpha.3&prerelease
CodeDesignPlus.Net.RabbitMQ
Description
The CodeDesignPlus.Net.RabbitMQ
library is part of the CodeDesignPlus.Net SDK, designed to provide a robust and flexible implementation for integrating RabbitMQ messaging into .NET applications. This library abstracts the complexities of RabbitMQ, offering a simplified interface for configuring and managing RabbitMQ connections, channels, and queues, which are essential for developing scalable and reliable message-driven applications.
Table of Contents
About The Project
The CodeDesignPlus.Net.RabbitMQ
library is part of the CodeDesignPlus.Net SDK, designed to provide a robust and flexible implementation for integrating RabbitMQ messaging into .NET applications. This library abstracts the complexities of RabbitMQ, offering a simplified interface for configuring and managing RabbitMQ connections, channels, and queues, which are essential for developing scalable and reliable message-driven applications.
Key Features
Flexible Configuration:
The library provides detailed configuration options for RabbitMQ, including settings for host, port, username, password, retry intervals, and more. This allows developers to fine-tune their RabbitMQ setup to meet specific application requirements.
Configuration options are encapsulated in the RabbitMQOptions class, which supports validation and default values.
Queue Management:
It includes comprehensive support for managing RabbitMQ queues, including defining message TTL, queue expiration, maximum length, and priority settings.
Configurations are managed through the QueueArguments class, which validates and compiles these settings into a dictionary of arguments for RabbitMQ.
Connection Handling:
- The library handles RabbitMQ connections efficiently, with retry mechanisms to ensure robust connectivity.
- The RabbitConnection class manages the lifecycle of RabbitMQ connections, including creating and disposing of connections, and handling retries on failure.
Channel Provisioning:
It supports dynamic provisioning of RabbitMQ channels for publishing and consuming messages, ensuring that each domain event type has its dedicated channel.
The ChannelProvider class manages the creation and retrieval of channels based on event types, ensuring efficient message routing.
Event Handling:
The library simplifies the process of declaring exchanges and managing consumer tags for domain events, facilitating smooth event-driven architecture implementations.
Methods in ChannelProvider allow for declaring exchanges and retrieving channels for both publishing and consuming events.
Dead-Letter Exchange (DLX) Support:
Includes configuration for dead-letter exchanges and queues, helping to manage message failures and retries.
The RabbitPubSubService class provides methods for configuring standard and DLX queues, ensuring proper handling of undeliverable messages.
These features make the CodeDesignPlus.Net.RabbitMQ library a powerful tool for integrating RabbitMQ in .NET applications, providing flexibility, reliability, and ease of use.
Installation
To install the package, run the following command:
dotnet add package CodeDesignPlus.Net.RabbitMQ
Usage
For more information regarding the library, you can visit our documentation at CodeDesignPlus Doc
Roadmap
Refer to issues for a list of proposed features and known issues.
Roadmap
- Fork the Project
- Create your Feature Branch (git checkout -b features/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request
License
Distributed under the MIT License. See LICENSE for more information.
Contact
CodeDesignPlus - @CodeDesignPlus - codedesignplus@outlook.com
Project Link: CodeDesignPlus.Net.RabbitMQ
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. |
-
net8.0
- CodeDesignPlus.Net.PubSub (>= 0.3.0-alpha.3)
- RabbitMQ.Client (>= 6.8.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on CodeDesignPlus.Net.RabbitMQ.Abstractions:
Package | Downloads |
---|---|
CodeDesignPlus.Net.RabbitMQ
CodeDesignPlus.Net.RabbitMQ provides a robust framework for integrating RabbitMQ with .NET Core applications. This library simplifies the process of producing and consuming RabbitMQ messages, enabling developers to build scalable and reliable event-driven systems. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.5.0-beta.14 | 41 | 11/8/2024 |
0.5.0-beta.13 | 33 | 11/7/2024 |
0.5.0-beta.11 | 36 | 11/6/2024 |
0.5.0-beta.9 | 37 | 11/3/2024 |
0.5.0-beta.6 | 36 | 11/1/2024 |
0.5.0-beta.4 | 37 | 10/31/2024 |
0.4.1-beta.3 | 43 | 10/31/2024 |
0.3.0-rc.3 | 38 | 10/28/2024 |
0.3.0-beta.3 | 35 | 10/28/2024 |
0.3.0-alpha.3 | 34 | 10/28/2024 |
0.2.0-rc.27 | 35 | 10/25/2024 |
0.2.0-rc.18 | 47 | 10/1/2024 |
0.2.0-beta.27 | 34 | 10/25/2024 |
0.2.0-beta.18 | 66 | 10/1/2024 |
0.2.0-alpha.27 | 34 | 10/25/2024 |
0.2.0-alpha.26 | 36 | 10/25/2024 |
0.2.0-alpha.25 | 39 | 10/25/2024 |
0.2.0-alpha.24 | 37 | 10/25/2024 |
0.2.0-alpha.23 | 39 | 10/24/2024 |
0.2.0-alpha.22 | 36 | 10/24/2024 |
0.2.0-alpha.21 | 38 | 10/23/2024 |
0.2.0-alpha.20 | 39 | 10/22/2024 |
0.2.0-alpha.19 | 49 | 10/21/2024 |
0.2.0-alpha.18 | 46 | 10/1/2024 |
0.2.0-alpha.17 | 43 | 10/1/2024 |
0.2.0-alpha.16 | 43 | 9/30/2024 |
0.2.0-alpha.15 | 49 | 9/30/2024 |
0.2.0-alpha.14 | 46 | 9/30/2024 |
0.2.0-alpha.13 | 51 | 9/29/2024 |
0.2.0-alpha.12 | 51 | 9/29/2024 |
0.2.0-alpha.11 | 46 | 9/29/2024 |
0.2.0-alpha.10 | 49 | 9/28/2024 |
0.2.0-alpha.9 | 48 | 9/28/2024 |
0.2.0-alpha.7 | 50 | 9/28/2024 |
0.2.0-alpha.6 | 48 | 9/28/2024 |
0.2.0-alpha.5 | 43 | 9/28/2024 |
0.2.0-alpha.4 | 50 | 9/28/2024 |
0.2.0-alpha.3 | 54 | 9/1/2024 |
0.2.0-alpha.2 | 43 | 9/28/2024 |
0.1.2-alpha.1 | 62 | 8/24/2024 |
0.1.2-alpha.0 | 66 | 8/24/2024 |
0.1.1 | 136 | 8/23/2024 |
0.1.1-alpha.19 | 68 | 8/23/2024 |