SkillAgentSearch skills...

Aesir.Hermod

A RabbitMQ messaging library for use in the Aesir ecosystem

Install / Use

/learn @DEMGroup/Aesir.Hermod
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Aesir.Hermod

<div align="center"> <img height="200" src="https://user-images.githubusercontent.com/11881500/201449784-c2cf3c06-e2a5-46bf-99f3-df56dfb4353a.png"/> </div> <div align="center"> <i>Hermóðr (Hermod) - Messenger to the Norse gods.</i> </div> <br/>

Hermod is a wrapper written for RabbitMQ to facilitate messaging on the Aesir platform.

Getting Started

All configuration for Hermod happens when registering it within the dependency injection container:

// Where services is IServiceCollection
services.AddHermod();

Example config

services.AddHermod(builder => 
		builder.ConfigureHost(opts =>
		{
			opts.Host = "localhost";
			opts.Port = 5672;
			opts.VHost = "/";
			opts.User = "guest";
			opts.Pass = "guest";
		});
	
		builder.ConsumeQueue("queue-1", conf =>
		{
			conf.RegisterConsumer(typeof(SampleMessageConsumer));
			conf.RegisterConsumer(typeof(StateMessageConsumer));
		});
	
		builder.ConsumeQueue("queue-2", conf =>
		{
			conf.RegisterConsumer(typeof(SampleMessageConsumer));
			conf.RegisterConsumer(typeof(StateMessageConsumer));
		});
			
		builder.ConsumeExchange("exchange-1", conf => 
		{
			conf.RegisterConsumer(typeof(StateMessageConsumer));
		});

		builder.ConfigureProducer(conf =>
                {
                    conf.ResponseTimeout = TimeSpan.FromSeconds(30);
                });
	);
Add connection info
services.AddHermod(builder => 
	builder.ConfigureHost(opts =>
	{
		opts.Host = "localhost";
		opts.Port = 5672;
		opts.VHost = "/";
		opts.User = "guest";
		opts.Pass = "guest";
	});
);
Adding a queue consumer
services.AddHermod(builder => 
	builder.ConsumeQueue("test-queue", conf =>
        {
        	conf.RegisterConsumer(typeof(SampleMessageConsumer));
        });
);
Adding an exchange consumer
services.AddHermod(builder => 
   builder.ConsumeExchange("test-exchange", conf =>
       {
       	conf.RegisterConsumer(typeof(SampleMessageConsumer));
       });
);

Related Skills

View on GitHub
GitHub Stars4
CategoryDevelopment
Updated3mo ago
Forks0

Languages

C#

Security Score

67/100

Audited on Dec 26, 2025

No findings