Skip to content

rafaelfgx/MessageBrokerService

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MessageBrokerService

RabbitMQ

IProductQueue

   public interface IProductQueue : IQueue<Product> { }

ProductQueue

   public class ProductQueue : Queue<Product>, IProductQueue { }

Publisher

   public static class Publisher
   {
       public static void Main()
       {
           Console.WriteLine(nameof(Publisher).ToUpper());

           while (true)
           {
               Console.Write("Enter the product name: ");

               var name = Console.ReadLine();

               var product = new Product { Name = name };

               IProductQueue productQueue = new ProductQueue();

               productQueue.Publish(product);
           }
       }
   }

Subscriber

   public static class Subscriber
   {
       public static void Main()
       {
           Console.WriteLine(nameof(Subscriber).ToUpper());

           IProductQueue productQueue = new ProductQueue();

           productQueue.Subscribe((product) => Console.WriteLine(product.Name));

           Console.ReadLine();
       }
   }