Windows下RabbitMQ安装及入门
下载erlang:http://www.erlang.org/downloads
RabbitMQ服务端使用并发式语言erlang编写
创建
ERLANG_HOME
环境变量环境变量指向erlang的安装目录,将%ERLANG_HOME%\bin加入到Path中
验证erlang安装
输入
erl
出现erlang的版本信息表示erlang语言环境安装成功下载RabbitMQ:http://www.rabbitmq.com/
默认的安装目录是
C:/Program Files/....
,这个目录中是存在空格符的
RabbitMQ安装目录最好不要有空格,可以改变安装目录验证RabbitMQ安装
- 命令行进入RabbitMQ的安装目录: cd rabbitmq_server-3.5.2\sbin
- 输入
rabbitmqctl status
, 如果出现以下的图,说明安装成功,并且RabbitMQ Server已经启动运行正常。
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>rabbitmqctl status Status of node 'rabbit@Lifeix-pc' ... [{pid,9788}, {running_applications,[{rabbit,"RabbitMQ","3.6.5"}, {mnesia,"MNESIA CXC 138 12","4.12.1"}, {os_mon,"CPO CXC 138 46","2.2.15"}, {rabbit_common,[],"3.6.5"}, {xmerl,"XML parser","1.3.7"}, {ranch,"Socket acceptor pool for TCP protocols.", "1.2.1"}, {sasl,"SASL CXC 138 11","2.4"}, {stdlib,"ERTS CXC 138 10","2.1"}, {kernel,"ERTS CXC 138 10","3.0.1"}]}, {os,{win32,nt}}, {erlang_version,"Erlang/OTP 17 [erts-6.1] [64-bit] [smp:4:4] [async-threads:64]\n"}, {memory,[{total,48083008}, {connection_readers,0}, {connection_writers,0}, {connection_channels,0}, {connection_other,0}, {queue_procs,2704}, {queue_slave_procs,0}, {plugins,0}, {other_proc,22122752}, {mnesia,61640}, {mgmt_db,0}, {msg_index,51952}, {other_ets,979696}, {binary,23264}, {code,19851942}, {atom,711569}, {other_system,4277489}]}, {alarms,[]}, {listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{amqp,5672,"0.0.0.0"}]}, {vm_memory_high_watermark,0.4}, {vm_memory_limit,6851372646}, {disk_free_limit,50000000}, {disk_free,1131212800}, {file_descriptors,[{total_limit,8092}, {total_used,2}, {sockets_limit,7280}, {sockets_used,0}]}
安装 RabbitMQ-Plugins
相当于管理界面,方便在浏览器界面查看RabbitMQ各个消息队列以及exchange的工作情况
安装方法:- 打开命令行cd进入
rabbitmq的sbin目录
(如:E:\software\rabbitmq\rabbitmq_server-3.6.5\sbin) - 输入:
rabbitmq-plugins enable rabbitmq_management
命令,稍等会出现plugins安装成功的提示,默认是安装6个插件。
- 打开命令行cd进入
如果出现了下面的错误:
解决方法:
1. 命令行输入:rabbitmq-service stop
2. 输入rabbitmq-service remove
3. 输入rabbitmq-service install
4. 输入rabbitmq-service start
5. 重新输入rabbitmq-plugins enable rabbitmq_management
验证
插件安装完后,在浏览器输入
http://localhost:15672
验证用户名:guest,密码:guest
RabbitMQ中涉及到的几个概念
producer:消息生产者
consumer:消息消费者
virtual host:虚拟主机
在RabbitMQ中,用户只能在虚拟主机的层面上进行一些权限设置,比如我可以访问哪些队列,我可以处理哪些请求等等;
broker:消息转发者
- 转发规则
- exchange:交换机
和producer直接进行打交道的,类似于路由器的功能,主要就是进行转发操作,producer到底用哪个exchange进行路由?取决于routing key(路由键),每个消息都有这个键(可以设定)其实就是一字符串
- queue:消息队列
用于存放消息,接收exchange路由过来的消息,可以对队列内容进行持久化操作,queue接收哪个exchange路由的消息?需要用到binding key(绑定键),绑定键会将队列和exchange进行绑定,RabbitMQ提供了多种绑定方式
- exchange:交换机
- 转发规则
这些概念间的关系
RabbitMQ简单使用
producer(生产者)端步骤:
- 创建ConnectionFactory,设置一些参数,如hostname,portNumber等
- 利用ConnectionFactory创建一个Connection连接
- 利用Connection创建一个Channel通道
- 创建queue和Channel进行绑定
- 创建消息,发送到队列中
注意,当前没有用到exchange交换机,我们没有创建exchange时,RabbitMQ会创建一个默认的空字符串(exchange)并使用这个exchange
public class Sender { private final static String QUEUE_NAME = "MyQueue"; public static void main(String[] args) { send(); } public static void send() { ConnectionFactory factory = null; Connection connection = null; Channel channel = null; try { factory = new ConnectionFactory(); factory.setHost("localhost"); connection = factory.newConnection(); channel = connection.createChannel(); channel.queueDeclare(QUEUE_NAME, false, false, false, null); String message = "my first message ....."; channel.basicPublish("", QUEUE_NAME, null, message.getBytes("UTF-8")); System.out.println("已经发送消息....."+message); } catch (IOException e) { e.printStackTrace(); } catch (TimeoutException e) { e.printStackTrace(); }finally{ try { //关闭资源 channel.close(); connection.close(); } catch (IOException e) { e.printStackTrace(); } catch (TimeoutException e) { e.printStackTrace(); } } } }
consumer(消费者)端步骤:
- 创建ConnectionFactory,设置参数,如hostname,portNumber等
- 利用ConnectionFactory创建一个Connection连接
- 利用Connection创建一个Channel通道
- 将queue和Channel进行绑定
注意这里的queue名字要和前面producer创建的queue一致
- 创建消费者Consumer来接收消息,同时将消费者和queue进行绑定
public class Receiver { private final static String QUEUE_NAME = "MyQueue"; public static void main(String[] args) { receive(); } public static void receive() { ConnectionFactory factory = null; Connection connection = null; Channel channel = null; try { factory = new ConnectionFactory(); factory.setHost("localhost"); connection = factory.newConnection(); channel = connection.createChannel(); channel.queueDeclare(QUEUE_NAME, false, false, false, null); Consumer consumer = new DefaultConsumer(channel){ @Override public void handleDelivery(String consumerTag, Envelope envelope, BasicProperties properties, byte[] body) throws IOException { System.out.println("11111111111"); String message = new String(body, "UTF-8"); System.out.println("收到消息....."+message); }}; channel.basicConsume(QUEUE_NAME, true,consumer); } catch (IOException e) { e.printStackTrace(); } catch (TimeoutException e) { e.printStackTrace(); }finally{ try { //关闭资源 channel.close(); connection.close(); } catch (IOException e) { e.printStackTrace(); } catch (TimeoutException e) { e.printStackTrace(); } } } }
Windows下RabbitMQ安装及入门相关推荐
- :Windows下RabbitMQ安装及入门
1.Windows下安装RabbitMQ需要以下几个步骤 (1):下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang. ...
- Windows下RabbitMQ安装及注意事项
Windows下RabbitMQ安装及注意事项 简介 背景 1. RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现. Rabbit ...
- windows下Graphviz安装及入门教程
下载安装配置环境变量 intall 配置环境变量 验证 基本绘图入门 graph digraph 一个复杂的例子 和python交互 发现好的工具,如同发现新大陆.有时,我们会好奇,论文中.各种专业的 ...
- Windows下RabbitMQ安装,部署,配置
安装部署 1.当前环境以及参考资料出处 部署环境:windows server 2008 r2 enterprise 官方安装部署文档:http://www.rabbitmq.com/install- ...
- windows 下 Graphviz 安装及入门教程以及 PlantUML
From:http://m.blog.csdn.net/lanchunhui/article/details/49472949 开源工具---使用简单的文字描述画UML图之PlantUML官网:htt ...
- Windows下RabbitMQ安装及配置
1.安装Erlang 1)下载地址:http://erlang.org/download/otp_win64_23.2.exe,本文选择OTP 23.2 Windows 64-bit Binary F ...
- windows 下rabbitmq 安装---转载
原文地址:http://blog.sina.com.cn/s/blog_7cc0c8cc0101mb4a.html 1.下载并安装erlang,http://www.erlang.org/downlo ...
- windows下Graphviz安装及入门教程(附下载链接)
首先可以在cmd命令行模式下使用 pip install graphviz pip install pydot pip install pydot_ng的方法来安装,如果安装后无法直接 或者在官网下载 ...
- Windows下RabbitMQ安装以及启动发生系统错误 1067。进程意外终止解决办法
安装 RabbitMQ需要64版本的Erlang环境支持, 需要先安装Erlang语言,为了方便大家安装,已经上传对应匹配的包到百度网盘. PS:没有匹配搞死人,后面的排错方案就是采坑后查资料以及实践 ...
最新文章
- 2018年全国多校算法寒假训练营练习比赛(第五场)题解
- linux图片添加滤镜,PhotoFlare开源图像和照片编辑器,附在Ubuntu 18.04下的安装方法...
- Codeforces 1276D/1259G Tree Elimination (树形DP)
- bootstrap 模态框满屏_解决Ueditor在bootstarp 模态框中全屏问题
- Taro+react开发(28)小程序怎么进行自适应
- 《大数据》第1期“论坛”——对大数据国家战略的几点考虑
- 戴尔服务器t110做系统,戴尔服务器T110
- exp参数feedback_Oracle数据库逻辑增量备份恢复之exp/imp参数inctype
- 数组越界也可以这么巧~~~
- 谷歌浏览器和对应驱动器的安装、配置(附有安装包)
- ShellServiceObjectDelayLoad注册表键值作用
- 如何去管理Java项目
- Cartographer 3D 建图实战-(基于禾赛32线雷达和Xsens MTi-G-710 组合导航模块,松灵Scout mini 底盘实际进行实验)
- 【论文笔记】Neural Machine Translation by Jointly Learning to Align and Translate
- 关于论坛数据库的设计
- httprunner3.x使用过程中遇到的问题
- 【MySQL】MySQL知识图谱
- Win11系统新建的excel表格怎么保存到桌面?
- 客户端表单验证_客户端的表单验证
- WordPress主题-柒比贰B2 V2.9.9主题去授权无限制
热门文章
- Kernel Trick——核机制,更高维空间内积的快速计算
- Spark 调优 ——cache(persist)与 checkpoint
- 强悍的命令行 —— less(与 more、cat 的区别)
- Python Flask Web 第四课 —— 模板引擎Jinja2
- 深度学习实践指南(二)—— 符号编程
- 【清单】语言、框架及库的官方文档、examples、tutorials
- Tricks(二十九)—— 2^10000 的位数
- Python 数据结构与算法——图出度和入度的计算
- 标准模板库(STL)之 vector 列传 (二)
- #绘制圆心_AutoCAD绘制齿轮教程