RabbitMQ 安装和简单测试
2019独角兽企业重金招聘Python工程师标准>>>
最近好多项目都有需要是用MQ的场景,以下是在安装过程记录的一些知识点,安装MQ需要先安装依赖环境,erlang和socat。 安装RabbitMQ:
rpm -i --nodeps rabbitmq-server-3.6.10-1.el6.noarch.rpm
启动mq:
service rabbitmq-server start
创建用户:
rabbitmqctl add_user admin admin
设置为管理员:
rabbitmqctl set_user_tags admin administrator
启动web管理
rabbitmq-plugins enable rabbitmq_management
用刚才创建的用户登录web管理页面,端口默认为15672 我们需要为刚才的admin配置权限,见上图,点名字进去即可,conf/write/read 都配成缺省显示的那个.* 即可。 目前为缺省配置,更多配置见http://www.rabbitmq.com/configure.html#config-items
java项目中加入依赖
<dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>3.0.4</version></dependency>
发送示例
package com.pactera.business.mq;import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;public class Send {//队列名称 private final static String QUEUE_NAME = "queue"; public static void main(String[] argv) throws java.io.IOException { /** * 创建连接连接到MabbitMQ */ ConnectionFactory factory = new ConnectionFactory(); //设置MabbitMQ所在主机ip或者主机名 factory.setHost("192.168.0.3"); factory.setUsername("admin");factory.setPassword("admin123");factory.setVirtualHost("/");factory.setPort(5672);//创建一个连接 Connection connection = factory.newConnection(); //创建一个频道 Channel channel = connection.createChannel(); //指定一个队列 channel.queueDeclare(QUEUE_NAME, false, false, false, null); //发送的消息 String message = "test quene"; //往队列中发出一条消息 channel.basicPublish("", QUEUE_NAME, null, message.getBytes()); System.out.println("Sent '" + message + "'"); //关闭频道和连接 channel.close(); connection.close(); }
}
接收示例
package com.pactera.business.mq;import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.QueueingConsumer;public class Recv {//队列名称 private final static String QUEUE_NAME = "queue"; public static void main(String[] argv) throws java.io.IOException,java.lang.InterruptedException { //打开连接和创建频道,与发送端一样 ConnectionFactory factory = new ConnectionFactory();//设置RabbitMQ所在主机ip或者主机名 factory.setUsername("root");factory.setPassword("root");factory.setHost("192.168.0.3");factory.setVirtualHost("/");factory.setPort(5672);Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); //声明队列,主要为了防止消息接收者先运行此程序,队列还不存在时创建队列。 channel.queueDeclare(QUEUE_NAME, false, false, false, null); System.out.println("Waiting for messages. To exit press CTRL+C"); //创建队列消费者 QueueingConsumer consumer = new QueueingConsumer(channel); //指定消费队列 channel.basicConsume(QUEUE_NAME, true, consumer); while (true) { //nextDelivery是一个阻塞方法(内部实现其实是阻塞队列的take方法) QueueingConsumer.Delivery delivery = consumer.nextDelivery(); String message = new String(delivery.getBody()); System.out.println("Received '" + message + "'");} }
}
接下来会整合到spring中。
转载于:https://my.oschina.net/scottCoder/blog/1162492
RabbitMQ 安装和简单测试相关推荐
- tomcat9安装及其简单测试
tomcat 9安装及其简单测试 1.安装 安装yum install -y wget 在官网下载tomcat 和jdk wget 下载地址(进行下载) 将下载的压缩包放到/usr/local mv ...
- jdbc驱动安装以及简单测试
最近又需要写jdbc啦,正好顺便把下载配置教程整理一下 教程分三个部分 下载jdbc驱动 配置jdbc到项目 简单连接一下数据库 1. 下载jdbc驱动 下载网址 (https://dev.mysql ...
- Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)
Ubuntu下Redis安装两种安装方式: 1.apt-get方式 步骤: 以root权限登录,切换到/usr目录下. 接下来输入命令,apt-get install redis-server,如图: ...
- pyBoard Mini从安装到简单测试
▌01 PyBoard Mini 在 淘宝购买到的<Python微控制器编程 从零开始> ,其中提到了 pyBoard Mini 核心板的应用.今天购买到的PyBoard到货了.对其进行初 ...
- RabbitMQ 安装与简单使用
在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的但是执行起来比较较耗时的地方,比如发送短信 ...
- DHCP的安装到简单测试(tar方式)
今天继续写一篇以tar方式安装DHCP服务器的文章.为什么用tar方式不用rpm,主要是因为我发现到网站上下载安装文件的时候,很难见到有最新rpm包的(等不及了,哈哈),况且网上有很多以rpm安装文章 ...
- 北太天元——首款国产科学计算软件安装及简单测试
今天看到很多群里的小伙伴都在交流数模国赛,说是取消了matlab创新奖,增加了北太天元奖.这便引得大伙对这款软件展开了不小的讨论. 真假与否暂且未知,但是作为"独立自主研发的国产通用型科学计 ...
- Spark 安装配置简单测试
简介 Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce ...
- scapy 安装及简单测试
关于scapy Scapy的是一个强大的交互式数据包处理程序(使用python编写).它能够伪造或者解码大量的网络协议数据包,能够发送.捕捉.匹配请求和回复包等等.它可以很容易地处理一些典型操作,比如 ...
最新文章
- 用实例给新手讲解RSA加密算法
- jquery对象和Dom对象的不同
- PHP安装编译错误及解决办法
- 角色操作-查询所有角色流程分析
- Qt数据库sqlite
- 华为p9 android版本,华为P9的手机系统是什么
- Android 沉浸式状态栏
- 问题 D: Search Problem
- mybatis根据表逆向自动化生成代码(自动生成实体类、mapper文件、mapper.xml文件)
- 多重继承java_Java中的多重继承
- html 确定取消dialog,弹出一个带确认和取消的dialog实例
- Android 百度语音合成手把手教学
- 欧拉筛法筛素数(接近O(n),取模操作稍微慢一点) 4E7之内的素数 Apare_xzc
- 英语论文写作技巧-2
- 王者荣耀 微信登录 服务器找不到,王者荣耀微信无法登录是怎么回事 具体解决方法...
- 高等代数----最小多项式的矩阵表示
- autograd-自动求导系统
- 自动化学科国家自然基金委十二五规划 2009年12月
- 随心玩玩(四)docker从入门到入土
- android tv 云播放器,Android TV开发总结(六)构建一个TV app的直播节目实例
热门文章
- python多进程存储数据_[b0035] python 归纳 (二十)_多进程数据共享和同步_共享内存Value Array...
- iphone屏幕镜像连电视_三种投屏方法,让电视电脑也能显示iPhone画面,大屏游戏视频更佳...
- 【pwnable】asm之write up
- (转)nginx+iis实现负载均衡
- 【转】使用genstring和NSLocalizedString实现App文本的本地化
- .NET一个线程更新另一个线程的UI(两种实现方法及若干简化)
- EM12C监控遇到 ‘cursor: pin S wait on X’ waits.
- Android 浅谈动画
- [Swift]LeetCode496. 下一个更大元素 I | Next Greater Element I
- MySQL的存储引擎与日志说明