Exemple #1
0
 public RabbitMQClient(SinkConfiguration sinkConfiguration)
 {
     _sinkConfiguration           = sinkConfiguration;
     _rabbitMqDefinationFunctions = new RabbitMqDefinationFunctions();
     _rabbitMqMessagesFunctions   = new RabbitMqMessagesFunctions();
     _model = Init();
 }
        static void Main(string[] args)
        {
            rabbitMqDefinationFunctions = new RabbitMqDefinationFunctions();
            rabbitMqMessagesFunctions   = new RabbitMqMessagesFunctions();

            // Init connection to rabbitMQ
            var RabbitMqModel  = InitModel();
            var RabbitMqModel2 = InitModel2();

            // Create a Direct Exchange
            CreateAndBind_DirectExchange(RabbitMqModel);

            // Create a fanout Exchange
            CreateAndBind_FanoutExchange(RabbitMqModel);

            // Create a Header Excahnge
            CreateAndBind_HeadersExchange(RabbitMqModel);

            // Create a Topic Exchange
            CreateAndBind_TopicExchange(RabbitMqModel);


            // Send Message to Exchanges
            rabbitMqMessagesFunctions.SendMessage(RabbitMqModel, "directExchange1", "directExchange1routeKey1", "msg1");
            rabbitMqMessagesFunctions.SendMessage(RabbitMqModel, "fanoutExchange1", "fanoutExchange1routeKey1", "msg1");
            rabbitMqMessagesFunctions.SendMessage(RabbitMqModel, "headresExchange1", "headresExchange1routeKey1", "msg1");
            rabbitMqMessagesFunctions.SendMessage(RabbitMqModel, "topicExchange1", "topicExchange1routeKey1", "msg1");
            rabbitMqMessagesFunctions.SendMessage(RabbitMqModel, "topicExchange1", "topicExchange1routeKey1", new { a = "asdasd", b = "adsasdasd" });


            // Recive Messages from Exchanges
            var queue1Messages = rabbitMqMessagesFunctions.ReciveMessages(RabbitMqModel2, "queue1");

            foreach (var item in queue1Messages)
            {
                Console.WriteLine(item);
            }

            var queue2Messages = rabbitMqMessagesFunctions.ReciveMessages(RabbitMqModel2, "queue2");

            foreach (var item in queue2Messages)
            {
                Console.WriteLine(item);
            }

            var queue3Messages = rabbitMqMessagesFunctions.ReciveMessages(RabbitMqModel2, "queue3");

            foreach (var item in queue3Messages)
            {
                Console.WriteLine(item);
            }

            var queue4Messages = rabbitMqMessagesFunctions.ReciveMessages(RabbitMqModel2, "queue4");

            foreach (var item in queue4Messages)
            {
                Console.WriteLine(item);
            }


            // Send Message to Exchanges
            rabbitMqMessagesFunctions.SendMessage(RabbitMqModel, "directExchange1", "directExchange1routeKey1", "msg1");
            rabbitMqMessagesFunctions.SendMessage(RabbitMqModel, "fanoutExchange1", "fanoutExchange1routeKey1", "msg1");
            rabbitMqMessagesFunctions.SendMessage(RabbitMqModel, "headresExchange1", "headresExchange1routeKey1", "msg1");
            rabbitMqMessagesFunctions.SendMessage(RabbitMqModel, "topicExchange1", "topicExchange1routeKey1", "msg1");
            rabbitMqMessagesFunctions.SendMessage(RabbitMqModel, "topicExchange1", "topicExchange1routeKey1", new { a = "asdasd", b = "adsasdasd" });


            Console.WriteLine("Press enter to exit...");
            Console.ReadLine();
        }