RabbitMQ 是一个开源的消息中间件,它实现了 AMQP(Advanced Message Queuing Protocol)协议,并提供了可靠的消息传递机制。
Spring Boot 中使用 RabbitMQ 实现异步消息的发送和接收。
使用 Spring Boot 提供的 AmqpTemplate 和 @RabbitListener 注解进行消息的发送和接收。
可以应用于各种场景,如日志处理、实时数据传输、系统解耦等
步骤一:安装 RabbitMQ
首先,你需要在本地环境中安装 RabbitMQ。RabbitMQ 的官方网站(https://www.rabbitmq.com/)下载适用于你的操作系统的安装包,并按照官方文档进行安装和配置。
步骤二:创建 Spring Boot 项目
使用 Spring Initializr(https://start.spring.io/)创建一个新的 Spring Boot 项目。选择适当的项目元数据(如项目名称、包名等)并选择适当的依赖项,包括 RabbitMQ 的依赖项。
dependency>
groupId>org.springframework.bootgroupId>
artifactId>spring-boot-starter-am服务器托管网qpartifactId>
dependency>
配置文件application.yml
spring:
rabbitmq:
host: localhost
port: 5672
username: guest
password: guest
创建消息发送者
@Component
public class MessageSender{
private final AmqpTemplate amqpTemplate;
@Autowired
public MessageSender(AmqpTemplate amqpTemplate){
this.amqpTemplate = amqpTemplate;
}
public void sendMessage(String message){
/**
将消息发送到名为 "myExchange" 的交换机,并使用 "myRoutingKey" 进行路由
*/
amqpTemplate.convertAndSend("myExchange", "myRoutingKey", message);
System.out.println("Message sent: " + message);
}
}
创建消息接收者
@Component
public class MessageReceiver{
/**
使用了名为 "myQueue" 的队列来接收消息
当有消息到达队列时,receiveMessage 方法将被自动调用,并将消息作为参数传入。
*/
@RabbitListener(queues="myQueue") //将该方法标记为消息监听器
public void receiveMessage(String message){
System.out.println("Message received: " + message);
}
}
发送和接收消息
@Autowired
private MessageSende服务器托管网r messageSender;
messageSender.sendMessage("Hello, RabbitMQ!");
并观察控制台输出来确认消息是否被成功接收:
=====================================================
邮件发送案例
一、创建一个消息发送者类,用于将待发送的邮件放入任务队列:
@Component
public class EmailSender{
@Autowired
private final AmqpTemplate amqpTemplate;
public void sendEmail(String email) {
//使用了名为 "emailQueue" 的队列来存储待发送的邮件
amqpTemplate.convertAndSend("emailQueue", email);
System.out.println("Email sent: " + email);
}
}
二、创建消息接收者,用于从任务队列中取出待发送的邮件并进行发送操作:
@Component
public class EmailReceiver{
/**
有邮件到达队列时,receiveEmail 方法将被自动调用,并将邮件作为参数传入
*/
@RabbitListener(queues="emailQueue") //将该方法标记为消息监听器
public void receiveEmail(String email){
System.out.println("Sending email to: " + email);
}
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得命令帮助 内部命令help 命令的“–help” 选项 使用man命令阅读手册页 命令行编辑的几个辅助操作 Tab键:自动补齐 反斜杠“”:强制换行 快捷键 Ct…