Skip to content

Latest commit

 

History

History
35 lines (26 loc) · 1.02 KB

RabbitMQ.md

File metadata and controls

35 lines (26 loc) · 1.02 KB

RabbitMQ

Configuring EventFlow to publish events to RabbitMQ is simple, just install the NuGet package EventFlow.RabbitMQ and add this to your EventFlow setup.

var uri = new Uri("amqp://localhost");

var resolver = EventFlowOptions.with
  .PublishToRabbitMq(RabbitMqConfiguration.With(uri))
  ...
  .CreateResolver();

Events are published to a exchange named eventflow with routing keys in the following format.

eventflow.domainevent.[Aggregate name].[Event name].[Event version]

Which will be the following for an event named CreateUser version 1 for the MyUserAggregate.

eventflow.domainevent.my-user.create-user.1

Note the lowercasing and adding of - whenever there's a capital letter.

All the above is the default behavior, if you don't like it replace e.g. the service IRabbitMqMessageFactory to customize what routing key or exchange to use. Have a look at how EventFlow has done its implementation to get started.