zoukankan      html  css  js  c++  java
  • rabbitmq topic

                var factory = new ConnectionFactory();
                factory.HostName = "localhost";
                factory.UserName = "admin";
                factory.Password = "admin";
    
                using (var connection = factory.CreateConnection())
                {
                    using (var channel = connection.CreateModel())
                    {
                        channel.ExchangeDeclare("topic_dev", "topic", true, false, null);
                        channel.QueueDeclare("login", true, false, false, null);
                        channel.QueueDeclare("signin", true, false, false, null);
                        channel.QueueBind("login", "topic_dev", "#.login.#", null);
                        channel.QueueBind("signin", "topic_dev", "#.signin.#", null);
    
                        var properties = channel.CreateBasicProperties();
                        properties.DeliveryMode = 2;
    
                        var consumer = new EventingBasicConsumer(channel);
                        consumer.Received += (model, ea) =>
                        {
                            var body = ea.Body.ToArray();
                            var msg = Encoding.UTF8.GetString(body);
                            Console.WriteLine($"login => {msg}, DeliveryTag={ea.DeliveryTag}, Redelivered={ea.Redelivered}, RoutingKey={ea.RoutingKey}");
                            channel.BasicAck(ea.DeliveryTag, false);
                        };
                        channel.BasicConsume("login", false, consumer);
    
                        var consumer1 = new EventingBasicConsumer(channel);
                        consumer1.Received += (model, ea) =>
                        {
                            var body = ea.Body.ToArray();
                            var msg = Encoding.UTF8.GetString(body);
                            Console.WriteLine($"signin => {msg}, DeliveryTag={ea.DeliveryTag}, Redelivered={ea.Redelivered}, RoutingKey={ea.RoutingKey}");
                            channel.BasicAck(ea.DeliveryTag, false);
                        };
                        channel.BasicConsume("signin", false, consumer1);
    
                        string message = "I am jonney";
                        channel.BasicPublish("topic_dev", "login.signin", properties, Encoding.UTF8.GetBytes(message)); 
                        Console.WriteLine($"Send:{message}");
    
                        Console.ReadLine();
                    }
                }
  • 相关阅读:
    如何开始DDD(续)
    如何开始DDD
    ThinkNet终于见面了
    [Umbraco] umbraco中如何分页
    ETL 工具下载全集 包括 Informatica Datastage Cognos( 持续更新)
    js时间对比-转化为几天前,几小时前,几分钟前
    原生JS实现返回顶部和滚动锚点
    JSONP原理及简单实现 可做简单插件使用
    CSS3 transition效果 360度旋转 旋转放大 放大 移动
    js获取url的常用方法
  • 原文地址:https://www.cnblogs.com/jonney-wang/p/13511922.html
Copyright © 2011-2022 走看看