Skip to content

Foundatio.RabbitMQ

Foundatio provides RabbitMQ messaging for pub/sub with durable delivery. View source on GitHub →

Overview

ImplementationInterfacePackage
RabbitMQMessageBusIMessageBusFoundatio.RabbitMQ

Installation

bash
dotnet add package Foundatio.RabbitMQ

Usage

csharp
using Foundatio.Messaging;

var messageBus = new RabbitMQMessageBus(o =>
{
    o.ConnectionString = "amqp://guest:guest@localhost:5672";
    o.Topic = "events";
});

await messageBus.SubscribeAsync<OrderCreated>(async order =>
{
    Console.WriteLine($"Order created: {order.OrderId}");
});

await messageBus.PublishAsync(new OrderCreated { OrderId = 123 });

Configuration

OptionTypeRequiredDefaultDescription
ConnectionStringstringRabbitMQ connection string
IsDurablebooltrueDurable messages
DeliveryLimitlong2Max delivery attempts
AcknowledgementStrategyAcknowledgementStrategyFireAndForgetAck strategy
PrefetchCountushort0Consumer prefetch count

For additional options, see RabbitMQMessageBusOptions source.

Next Steps

Released under the Apache 2.0 License.