zoukankan      html  css  js  c++  java
  • RabbitMQ入门

    1. 下载安装
      1. RabbitMQ  https://www.rabbitmq.com/install-windows.html
      2. Erlang   http://erlang.org/download/otp_win64_22.0.exe
    2. 启用管理工具
      1. 打开 RabbitMQ Command Prompt (sbin dir) 输入命令:
        rabbitmq-plugins enable rabbitmq_management
      2. 停止:net stop RabbitMQ
        启动:net start RabbitMQ
      3. 在浏览器中输入地址查看:http://127.0.0.1:15672/
      4. 使用默认账号登录:guest/ guest
    3. Install-Package RabbitMQ.Client
    4. 生产消息
      var factory = new ConnectionFactory() { HostName = "localhost", UserName = "guest", Password = "guest", };
                  using (var connection = factory.CreateConnection())
                  using (var channel = connection.CreateModel())
                  {
                      channel.QueueDeclare(queue: "writeLog", durable: false, exclusive: false, autoDelete: false, arguments: null);
                      for (int i = 0; i < 8000; i++)
                      {
                          string message = i.ToString()+","+Thread.CurrentThread.ManagedThreadId;
                          var body = Encoding.UTF8.GetBytes(message);
      
                          channel.BasicPublish(exchange: "", routingKey: "writeLog", basicProperties: null, body: body);
                          Console.WriteLine("Program Sent {0}", message);
                      }
                  }
      View Code
    5. 消费消息
      var factory = new ConnectionFactory() { HostName = "localhost", UserName = "guest", Password = "guest", VirtualHost = "/" };
                  using (var connection = factory.CreateConnection())
                  using (var channel = connection.CreateModel())
                  {
                      channel.QueueDeclare(queue: "writeLog",
                                           durable: false,
                                           exclusive: false,
                                           autoDelete: false,
                                           arguments: null);
      
                      var consumer = new EventingBasicConsumer(channel);
                      consumer.Received += (model, ea) =>
                      {
                          var body = ea.Body;
                          var message = Encoding.UTF8.GetString(body);
                          ExcuateWriteFile(message);
                          Console.WriteLine(" Receiver Received {0}", message);
                      };
                      channel.BasicConsume(queue: "writeLog",
                                           autoAck: true,
                                           consumer: consumer);
      
                      Console.WriteLine(" Press [enter] to exit.");
                      Console.ReadLine();
                  }
      View Code
  • 相关阅读:
    mysql的多表查询join
    JMeter源码集成到Eclipse
    jmeter关联 正则表达式提取器
    JMeter结果树响应数据中文乱码解决办法
    BZOJ 2080: [Poi2010]Railway 双栈排序
    BZOJ 4384: [POI2015]Trzy wieże
    BZOJ 4325: NOIP2015 斗地主
    BZOJ 1142: [POI2009]Tab
    第10章 内核同步方法
    第1章 Linux内核简介
  • 原文地址:https://www.cnblogs.com/herocany/p/11164195.html
Copyright © 2011-2022 走看看