RabbitMq入门案列
一、流程
1.建立连接工厂ConnectionFactory
2.通过连接工厂ConnectionFactory建立连接Connection,相当于建立TCP连接
3.连接成功后建立信道Channel
4.发送消息与接受消息
5.关闭连接
二、环境
安装Erlang
安装rabbitMq
将amqp-client-5.7.3.jar导入项目
需注意Erlang与rabbitmq之间的版本匹配
三、连接工厂
public class RabbitMqConnectionUtil {public static Connection getConnection() throws IOException, TimeoutException {ConnectionFactory connectionFactory = new ConnectionFactory();connectionFactory.setHost("localhost");connectionFactory.setPort(5672);return connectionFactory.newConnection();}
}
四、生产者
public class Producer {private static final String QUEUE_NAME = "TEST_QUEUE";public static void main(String[] args) throws IOException, TimeoutException {Scanner in = new Scanner(System.in);Connection connection = RabbitMqConnectionUtil.getConnection();Channel channel = connection.createChannel();channel.queueDeclare(QUEUE_NAME, false, false, false, null);String msg = "I'm a rabbitMq message from producer!!!!!!!!!!";while (in.hasNext()) {msg = in.next();channel.basicPublish("", QUEUE_NAME, null, msg.getBytes());System.out.println("send message " + msg);}channel.close();connection.close();}
}
五、消费者
public class Consumer {private static final String QUEUE_NAME = "TEST_QUEUE";public static void main(String[] args) throws IOException, TimeoutException {Connection connection = RabbitMqConnectionUtil.getConnection();Channel channel = connection.createChannel();channel.queueDeclare(QUEUE_NAME, false, false, false, null);DefaultConsumer defaultConsumer = new DefaultConsumer(channel) {@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {super.handleDelivery(consumerTag, envelope, properties, body);String msg = new String(body, "UTF-8");System.out.println("receive " + msg);}};channel.basicConsume(QUEUE_NAME, true, defaultConsumer);}}
六、结果
可在控制台中查看打印的消息,也可在打开localhost:15672,账号密码初始为guest
登录后查看相关数据统计
RabbitMq入门案列相关推荐
- JDBC的入门案列以及JDBC的对事务的管理
JDBC的概念 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中 ...
- spring简单入门,入门案列的执行流程,图例
1.入门案例的执行流程 1.1: 当启动了tomcat服务器的时候,因为配置了load-on-startup标签,所以会创建DispatchServlet对象,就会加载springmvc.xml配置 ...
- Go入门案列1:实现一个家庭收支记账系统
项目来源: b站尚硅谷go教学 使用 通过Create方法来创建myFamilyAccount变量(创建时设置的name和pwd相当于默认密码) ,再直接调用该变量的 MainMeau方法即可,可参照 ...
- Spark系列四:Spark的经典入门案列之ip地址归属地查询
目录 概述 代码实现 单级模式 分布式模式 方案一: 方案二: 工具类 提示:所有需要的文件我全部放在资源里面了,可以自行下载 概述 需求:根据访问日志的ip地址计算出访问者的归属地,并且按照省份,计 ...
- RabbitMQ入门到精通
RabbitMQ 1. 消息中间件概述 1.1. 为什么学习消息队列 电子商务应用中,经常需要对庞大的海量数据进行监控,随着网络技术和软件开发技术的不断提高,在实战开发中MQ的使用与日俱增,特别是Ra ...
- RabbitMQ入门及笔记
RabbitMQ 文章目录 RabbitMQ 1. RabbitMQ的安装 2. RabbitMQ的相关概念 2.1 RabbitMQ的概念 2.2 四大核心概念 2.3 RabbitMQ 核心部分 ...
- COMSOL光电案列应用实操教学:
COMSOL多物理场仿真软件以高效的计算性能和杰出的多场耦合分析能力实现了精确的数值仿真,已被广泛应用于各个领域的科学研究以及工程计算,为工程界和科学界解决了复杂的多物理场建模问题.光电作为物理类专业 ...
- RabbitMQ 入门系列(10)— RabbitMQ 消息持久化、不丢失消息
消息要保持"持久化",即不丢失,必须要使得消息.交换器.队列,必须全部 "持久化". 1. 生产者怎么确认 RabbitMQ 已经收到了消息? # 打开通道的确 ...
- rabbitMQ入门程序
1.生产者 /*** rabbitMQ入门程序消费者** @author xiaoss* @date 2020年10月27日 22:02*/ public class Producer01 {//队列 ...
最新文章
- 前端错误信息收集(errorEruda)解析
- 使用Silverlight3中的DataPager实现服务器端分页
- redis sentinel哨兵配置及日志分析(grep -v)
- DCMTK:测试文件是否使用DICOM Part 10格式
- WinPcap编程调试解决办法
- MongoDB和Java(5):Spring Data整合MongoDB(注解配置)
- hadoop windows
- C语言基础知识:printf的输出格式
- HA集群--corosync+pacemaker
- pentaho连接数据库
- php要学ps吗,小蚂蚁学习PS切图(3)——小练习
- Blender学习笔记(3)建模|blender
- 基于Linux下的apache Web 服务
- ubuntu系统上进行usb相机端口绑定
- java uc_UC浏览器Java通用版本uc Java通用版本java通用版本浏览器uc7
- apmserv mysql密码_apmserv中修改mysql的root与phpmyadmin密码方法介绍
- 火狐怎么打开html页面,电脑如何设置火狐浏览器主页|电脑设置火狐启动页面的方法...
- 成为zabbix合作伙伴费用及意义
- 如何优化网站,网站推广优化一般流程
- PTA L2-032 彩虹瓶(2019GPLT)