热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RabbitMQ(五)之快速编写HelloRabbitMQ

一、搭建项目创建Maven项目导入rabbitmq包com.rabbitmqamqp-clien


一、搭建项目

创建Maven项目

导入rabbitmq包


com.rabbitmq
amqp-client
3.6.5


二、代码

生产者代码

public static void main(String[] args) {
//1、 创建连接工厂
ConnectionFactory cOnnectionFactory= new ConnectionFactory();
// RabbitMQ服务IP
connectionFactory.setHost("127.0.0.1");
// RabbitMQ服务端口
connectionFactory.setPort(5672);
// 选择VirtualHost
connectionFactory.setVirtualHost("/");
Connection connection;
Channel channel=null;
try {
//2、 通过工厂创建连接
cOnnection= connectionFactory.newConnection();
//3、通过连接创建Channel
channel = connection.createChannel();
String exchange = "";
String routingKey = "te01";
AMQP.BasicProperties basicProperties = null;
for (int i = 0; i <5; i++) {
String body = "Producer:"+i;
//发送消息
channel.basicPublish(exchange, routingKey, basicProperties, body.getBytes());
}
// 按顺序关闭连接
channel.close();
connection.close();
} catch (IOException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
}
}

消费者代码

public static void main(String[] args) {
//1、 创建连接工厂
ConnectionFactory cOnnectionFactory= new ConnectionFactory();
// RabbitMQ服务IP
connectionFactory.setHost("127.0.0.1");
// RabbitMQ服务端口
connectionFactory.setPort(5672);
// 选择VirtualHost
connectionFactory.setVirtualHost("/");
try {
//2、 通过工厂创建连接
Connection cOnnection= connectionFactory.newConnection();
//3、通过连接创建Channel
Channel channel = connection.createChannel();
//4、创建队列
String queueName="te01";//队列名称
channel.queueDeclare(queueName, true, false, false, null);
//5、创建消费者
QueueingConsumer queueingCOnsumer= new QueueingConsumer(channel);
//6、配置channel
channel.basicConsume(queueName,true,queueingConsumer);
while (true){
QueueingConsumer.Delivery delivery = queueingConsumer.nextDelivery();
String body = new String(delivery.getBody());
System.out.println("消费者:"+body);
}
} catch (IOException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}

三、查看控制界面

进入界面:http://127.0.0.1:15672

执行生产者代码,查看控制面板发送消息队列里面有10条消息

执行消费者代码,控制台则会打印出消息列队里面的消息,再次查看控制台消息列队则为0。

源码下载

本文地址:https://blog.csdn.net/qq_36306590/article/details/85949357



推荐阅读
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 使用WinForms 实现 RabbitMQ RPC 示例
    本文通过两个WinForms应用程序演示了如何使用RabbitMQ实现远程过程调用(RPC)。一个应用作为客户端发送请求,另一个应用作为服务端处理请求并返回响应。 ... [详细]
  • 利用RabbitMQ实现高效延迟任务处理
    本文详细探讨了如何利用RabbitMQ实现延迟任务,包括其应用场景、实现原理、系统设计以及具体的Spring Boot实现方式。 ... [详细]
  • 本文提供了一套实用的方法论,旨在帮助开发者构建能够应对高并发请求且易于扩展的Web服务。内容涵盖了服务器架构、数据库管理、缓存策略以及异步处理等多个方面。 ... [详细]
  • 本文介绍了如何在三台CentOS 7.5虚拟机上通过Docker部署RabbitMQ集群,包括环境准备、容器创建、集群配置及故障处理等内容。 ... [详细]
  • RabbitMQ消息分发策略与确认机制
    本文详细介绍了RabbitMQ的消息分发轮询机制以及消息确认(Message Acknowledgment)功能,通过实例演示了如何确保消息可靠传递。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 本文详细介绍了在 Windows 2000 系统中启用 TELNET 服务时需要注意的 NTLM 配置问题,帮助用户解决常见的身份验证失败错误。 ... [详细]
author-avatar
发酵床养殖菌种
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有