CodeDesignPlus.Net.RabbitMQ 0.3.0-rc.3

This is a prerelease version of CodeDesignPlus.Net.RabbitMQ.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package CodeDesignPlus.Net.RabbitMQ --version 0.3.0-rc.3                
NuGet\Install-Package CodeDesignPlus.Net.RabbitMQ -Version 0.3.0-rc.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.3.0-rc.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CodeDesignPlus.Net.RabbitMQ --version 0.3.0-rc.3                
#r "nuget: CodeDesignPlus.Net.RabbitMQ, 0.3.0-rc.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CodeDesignPlus.Net.RabbitMQ as a Cake Addin
#addin nuget:?package=CodeDesignPlus.Net.RabbitMQ&version=0.3.0-rc.3&prerelease

// Install CodeDesignPlus.Net.RabbitMQ as a Cake Tool
#tool nuget:?package=CodeDesignPlus.Net.RabbitMQ&version=0.3.0-rc.3&prerelease                

CodeDesignPlus.Net.RabbitMQ

Quality Gate Status Bugs Code Smells Coverage Duplicated Lines (%) Vulnerabilities

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

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b features/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
0.5.0-beta.14 41 11/8/2024
0.5.0-beta.13 36 11/7/2024
0.5.0-beta.11 33 11/6/2024
0.5.0-beta.9 38 11/3/2024
0.5.0-beta.6 34 11/1/2024
0.5.0-beta.4 40 10/31/2024
0.4.1-beta.3 42 10/31/2024
0.3.0-rc.3 37 10/28/2024
0.3.0-beta.3 36 10/28/2024
0.3.0-alpha.3 39 10/28/2024
0.2.0-rc.27 35 10/25/2024
0.2.0-rc.18 43 10/1/2024
0.2.0-beta.27 34 10/25/2024
0.2.0-beta.18 54 10/1/2024
0.2.0-alpha.27 33 10/25/2024
0.2.0-alpha.26 32 10/25/2024
0.2.0-alpha.25 36 10/25/2024
0.2.0-alpha.24 37 10/25/2024
0.2.0-alpha.23 37 10/24/2024
0.2.0-alpha.22 35 10/24/2024
0.2.0-alpha.21 37 10/23/2024
0.2.0-alpha.20 36 10/22/2024
0.2.0-alpha.19 50 10/21/2024
0.2.0-alpha.18 47 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 54 9/30/2024
0.2.0-alpha.14 42 9/30/2024
0.2.0-alpha.13 47 9/29/2024
0.2.0-alpha.12 44 9/29/2024
0.2.0-alpha.11 47 9/29/2024
0.2.0-alpha.10 49 9/28/2024
0.2.0-alpha.9 45 9/28/2024
0.2.0-alpha.7 52 9/28/2024
0.2.0-alpha.6 49 9/28/2024
0.2.0-alpha.5 46 9/28/2024
0.2.0-alpha.4 51 9/28/2024
0.2.0-alpha.3 58 9/1/2024
0.2.0-alpha.2 46 9/28/2024
0.1.2-alpha.1 65 8/24/2024
0.1.2-alpha.0 66 8/24/2024
0.1.1 126 8/23/2024
0.1.1-alpha.19 73 8/23/2024