rabbitmq安装及简单demo练习
参考:https://my.oschina.net/loveorange/blog/3026473
安装参考链接:
1. 下载自己需要的rabbitmq_server(http://www.rabbitmq.com/download.html)版本和erlang环境(http://www.erlang.org/downloads)。
2. 先安装erlang环境,并添加环境变量。
control panel --> (Viewed By Category)选择System and Security -->选择System


环境变量添加可参考https://my.oschina.net/loveorange/blog/3026473
3. 验证erl是否安装成功
以管理员身份输入cmd打开控制面板,输入erl验证是否安装成功

4. 安装rabbitmq
安装完成后 cmd 命令到安装目录下的sbin 目录 键入命令: rabbitmq-plugins.bat enable rabbitmq_management 开启插件
键入: rabbitmq-server 启动MQ
浏览器http://localhost:15672/ 访问MQ的主页 初始化密码和用户名都是: guest
5. rabbitmq在.NET中的简单应用
一、 程序准备
(1)浏览器中打开QM主页后,添加用户。(如果没有添加有权限的用户,则无法在程序中创建连接)

(2)初始添加用户后,用户没有权限,显示如下:

此时, 鼠标点击用户名test,点击set permission 为该用户设置权限


二、 程序实现
生产者:
namespace Send
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Start!");
IConnectionFactory conFactory = new ConnectionFactory//创建连接工厂对象
{
HostName = "10.64.228.211",
Port = ,
UserName = "wl",
Password = ""
};
using (IConnection con = conFactory.CreateConnection())//创建连接
{
using (IModel channel = con.CreateModel())//创建通道
{
// 创建交换机
string queueName = "testQueue1";
string exchangeName = "exchangeTest1";
string routingKey = "routingKeyTest1";
channel.ExchangeDeclare(exchangeName, ExchangeType.Direct); //创建一个消息队列并绑定到交换机上
channel.QueueDeclare(queueName, true, false, false, null);
channel.QueueBind(queueName, exchangeName,routingKey,null); //Console.WriteLine("消息内容:");
string message = string.Empty;
for (int i= ; i< ; i++)
{
message = Thread.CurrentThread.ManagedThreadId + i.ToString();
byte[] body = Encoding.UTF8.GetBytes(message);//消息内容
//发送消息到消息队列
channel.BasicPublish(exchangeName, routingKey, null, body);
} // Console.Write("成功发送消息:" + message);
}
} }
}
}
启动该服务,可以在rabbitmq的主页中看到接收的消息。

消费者
namespace Receive
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
IConnectionFactory conFactory = new ConnectionFactory//创建连接工厂对象
{
HostName = "10.64.228.211",
Port = ,
UserName = "wl",
Password = ""
};
using (IConnection conn = conFactory.CreateConnection())//创建连接
{
using (IModel channel = conn.CreateModel())//创建通道
{
// 取出消息
string queueName = "testQueue1"; //创建消费者对象
var consumer = new EventingBasicConsumer(channel);
consumer.Received += (model, ea) =>
{
byte[] message = ea.Body;//接收到的消息
Encoding.UTF8.GetString(message);
}; //消费者开启监听
var consumeResult = channel.BasicConsume(queueName, true,consumer);
Console.ReadKey();
}
} }
}
}
启动消费服务,mq会消费队列中消息。

显示消息已经被消费。
rabbitmq安装及简单demo练习的更多相关文章
- RabbitMQ安装以及简单操作应用(针对Windows和C#)
1.RabbitMQ安装 1.1下载并安装Erlang https://www.erlang.org/downloads 一直点next就安装好了.我直接使用了默认的安装目录.否则的话,应该需要配置一 ...
- 【RabbitMQ】ubuntu下RabbitMQ安装与简单使用
参考:https://blog.csdn.net/the_fool_/article/details/80570971 1.安装: https://blog.csdn.net/a295277302/a ...
- 【RabbitMQ】RabbitMQ在Windows的安装和简单的使用
版本说明 使用当前版本:3.5.4 安装与启动 在官网上下载其Server二进制安装包,在Windows上的安装时简单的,与一般软件没什么区别. 安装前会提示你,还需要安装Erlang,并打开下载页面 ...
- 在cengos中安装zabbix server/agent, 并创建一个简单demo
添加zabbix更新源 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch ...
- python中RabbitMQ的使用(安装和简单教程)
1,简介 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从"生产者"接收消息 ...
- RabbitMQ学习系列(二): RabbitMQ安装与配置
上一篇,简单介绍了RabbitMQ的情况还有一些相关的概念,这一篇,会讲讲 RabbitMQ安装与配置. 1.安装 Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装RabbitM ...
- RabbitMQ安装实践
背景: 最近一个项目的测试环境需要用到rabbitMQ,但运维和开发都没时间,于是自己试着安装了一发,发现安装很简单,记一笔如下: 安装步骤 查看官网上有不同的安装方法,可使用下载安装包或者直接通过其 ...
- RabbitMQ安装配置
安装RabbitMQ windows下的安装是非常简单的,我们需要准备两个东西 erlang的环境 下载windows和与之对象的操作系统位数安装包 http://www.erlang.org/do ...
- RabbitMQ 一二事 - 简单队列使用
消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也在用 ActiveMQ是阿帕奇出品,但是 ...
随机推荐
- PHP使用ElasticSearch做搜索
PHP 使用 ElasticSearch 做搜索 https://blog.csdn.net/zhanghao143lina/article/details/80280321 https://www. ...
- 046、Java中使用if…else判断
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- Linux下安装JDK及其碰到的问题解决
1.下载一个linux版本的jdk包 2.新建一个目录,专门用来存放安装包 mkdir /home/software 3.将jdk包拷贝到/home/software下面,并解压 4.配置jdk ...
- Maven插件方式使用Mybatis Generator
Mybatis Generator Mybatis Generator简称MBG,可以根据数据库自动生成实体类.单表查询接口及其映射xml文件(也可以选择以注解方式生成). 下面介绍一下以maven插 ...
- 51nod 1423:最大二“货”
1423 最大二"货" 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 取消关注 白克喜欢找一个序列 ...
- 英语语法 - the + 形容词 的意义
1,表示一类人 (复数) the young 青年 the old 老年the poor 穷人 the rich 富人the sick 病人 The old need care more than ...
- 自己手动实现简单的双向数据绑定 mvvm
数据绑定 数据绑定一般就是指的 将数据 展示到 视图上.目前前端的框架都是使用的mvvm模式实现双绑的.大体上有以下几种方式: 发布订阅 ng的脏检查 数据劫持 vue的话采用的是数据劫持和发布订阅相 ...
- dango 常用 静态文件 中间件 admin管理 上传图片
静态文件 项目中的CSS.图片.js都是静态文件.一般会将静态文件放到一个单独的目录中,以方便管理.在html页面中调用时,也需要指定静态文件的路径,Django中提供了一种解析的方式配置静态文件路径 ...
- cf 398B. Painting The Wall
23333,还是不会..%%%http://hzwer.com/6276.html #include <bits/stdc++.h> #define LL long long #defin ...
- C语言小游戏: 2048.c
概要:2048.c是一个C语言编写的2048游戏,本文将详细分析它的源码和实现.C语言是一种经典实用的编程语言,本身也不复杂,但是学会C语言和能够编写实用的程序还是有一道鸿沟的.本文试图通过一个例子展 ...