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
  • 相关阅读:
    前端资料
    贪心
    二叉树的最大深度
    最长回文子串
    动态规划-tsp
    动态规划
    spfa与SLF和LLL(复习)
    动态规划之最长 公共子序列和上升子序列
    最近最远距离之暴力优化
    基于Element-UI封装的季度插件
  • 原文地址:https://www.cnblogs.com/herocany/p/11164195.html
Copyright © 2011-2022 走看看