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是阿帕奇出品,但是 ...
随机推荐
- JVM:Java 类的加载机制
虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验,转换,解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制. 类的生命周期 类从被加载到虚拟机内 ...
- JAVA Main方法中调用非静态方法
在JAVA中静态方法中只能调用其他,静态方法.main方法都是静态方法,如果想调用其它的方法,要么只能是其它的静态方法.还有一种方法就是将当前类实例化在调用它的非静态方法 public class t ...
- UVA - 1513 Movie collection (树状数组)
题意:有n个影碟,标号为1~n,位置为0~n-1,每次取出一个影碟看完后,将其放在最前面(标号为0处),问每个影碟取出前,其位置之前有多少个影碟. 分析: 1.数组大小开为100000*2,后1000 ...
- maven的概念模型及maven坐标
1.概念模型 项目对象模型:一个maven工程有一个pom.xml文件,通过pom.xml文件定义项目的坐标.项目依赖.项目信息.插件目标等. 依赖管理系统:通过maven的依赖管理对项目所依赖的j ...
- 一个基于chrome扩展的自动答题器
1.写在前面 首先感谢小茗同学的文章-[干货]Chrome插件(扩展)开发全攻略, 基于这篇入门教程和demo,我才能写出这款 基于chrome扩展的自动答题器. git地址: https://git ...
- 简单总结Get与Post的区别
工作当中经常遇到这两种类型的接口,也会被问到这两种类型的区别,这里简单总结一下算是一个简单的回忆吧. GET和POST是http协议的两种发送请求的方法.因为http的底层是TCP/IP,所以GET和 ...
- 三十六、SAP的调试模式
一.在执行界面,输入/h, 左下角会提示调试模式被激活 二.点击运行,就会跳出调试界面 三.调试界面用法
- JAVA-数据类型-复习
JAVA-数据类型-复习 Java中,一共有8种数据类型,4种整型,2种浮点型,1种用于表示Unicode编码的字符单元的字符类型char,1种布尔类型. 整型 类型 存储需求(字节)一个字节包含8个 ...
- 实验吧-隐写术-男神一般都很低调很低调的!!(stegsolve->Image Combiner + DES加密)
先介绍一下DES加密:(也可参考https://blog.csdn.net/zz_Caleb/article/details/87016017,第14个) 1)对称加密,参考:对称加密和非对称加密 2 ...
- Sklearn 预处理数据
## 版权所有,转帖注明出处 章节 SciKit-Learn 加载数据集 SciKit-Learn 数据集基本信息 SciKit-Learn 使用matplotlib可视化数据 SciKit-Lear ...