Spring Boot 中整合 RabbitMQ(测试 + 部署上线最完整指南) ...

打印 上一主题 下一主题

主题 846|帖子 846|积分 2538



RabbitMQ 是一个流行的开源消息署理,广泛用于构建分布式体系和微服务架构。本文将详细介绍如何在 Spring Boot 中整合 RabbitMQ,包罗配置、测试和部署上线的完整流程。
目次


  • RabbitMQ 简介
  • 情况预备
  • Spring Boot 集成 RabbitMQ

    • 3.1 添加依赖
    • 3.2 配置 RabbitMQ
    • 3.3 创建消息发送者
    • 3.4 创建消息接收者

  • 测试 RabbitMQ
  • 部署上线
  • 总结
1. RabbitMQ 简介

RabbitMQ 是一个开源的消息中间件,支持多种消息协议。它基于 AMQP(高级消息队列协议)实现。RabbitMQ 的重要特点包罗:


  • 可靠性:消息持久化,支持事件。
  • 灵活性:支持多种消息路由方式。
  • 可扩展性:支持集群和高可用性部署。
  • 管理界面:提供 Web 管理界面,方便监控和管理。
2. 情况预备

2.1 安装 RabbitMQ

假如你尚未安装 RabbitMQ,可以通过以下步调在本地安装:

  • 安装 Erlang(RabbitMQ 的依赖):
    1. sudo apt-get install erlang
    复制代码
  • 下载并安装 RabbitMQ
    1. # 下载 RabbitMQ 安装包
    2. wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.0/rabbitmq-server-generic-unix-3.10.0.tar.xz
    3. # 解压安装包
    4. tar -xvf rabbitmq-server-generic-unix-3.10.0.tar.xz
    5. cd rabbitmq_server-3.10.0/sbin
    6. # 启动 RabbitMQ
    7. ./rabbitmq-server
    复制代码
  • 启用管理插件(可选):
    1. ./rabbitmq-plugins enable rabbitmq_management
    复制代码
  • 访问管理界面
    在浏览器中访问 http://localhost:15672,默认用户名和密码为 guest。
2.2 创建 Spring Boot 项目

使用 Spring Initializr 创建一个新的 Spring Boot 项目,选择以下依赖:


  • Spring Web
  • Spring for RabbitMQ
3. Spring Boot 集成 RabbitMQ

3.1 添加依赖

在 pom.xml 中添加 RabbitMQ 的依赖:
  1. <dependency>
  2.     <groupId>org.springframework.boot</groupId>
  3.     <artifactId>spring-boot-starter-amqp</artifactId>
  4. </dependency>
复制代码
3.2 配置 RabbitMQ

在 application.yml 中添加 RabbitMQ 的配置:
  1. spring:
  2.   rabbitmq:
  3.     host: localhost
  4.     port: 5672
  5.     username: guest
  6.     password: guest
复制代码
3.3 创建消息发送者

创建一个消息发送者类 MessageSender:
  1. import org.springframework.amqp.rabbit.core.RabbitTemplate;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.stereotype.Service;
  4. @Service
  5. public class MessageSender {
  6.    
  7.     @Autowired
  8.     private RabbitTemplate rabbitTemplate;
  9.     public void send(String message) {
  10.         rabbitTemplate.convertAndSend("myQueue", message);
  11.         System.out.println("Sent: " + message);
  12.     }
  13. }
复制代码
3.4 创建消息接收者

创建一个消息接收者类 MessageReceiver:
  1. import org.springframework.amqp.rabbit.annotation.RabbitListener;
  2. import org.springframework.stereotype.Component;
  3. @Component
  4. public class MessageReceiver {
  5.     @RabbitListener(queues = "myQueue")
  6.     public void receive(String message) {
  7.         System.out.println("Received: " + message);
  8.     }
  9. }
复制代码
4. 测试 RabbitMQ

创建一个控制器 TestController 来测试消息发送:
  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.web.bind.annotation.GetMapping;
  3. import org.springframework.web.bind.annotation.RestController;
  4. @RestController
  5. public class TestController {
  6.     @Autowired
  7.     private MessageSender messageSender;
  8.     @GetMapping("/send")
  9.     public String sendMessage() {
  10.         messageSender.send("Hello, RabbitMQ!");
  11.         return "Message sent!";
  12.     }
  13. }
复制代码
4.1 启动 Spring Boot 应用

运行 Spring Boot 应用,确保没有错误。
4.2 测试发送消息

在浏览器中访问 http://localhost:8080/send,你应该能看到控制台输出:
  1. Sent: Hello, RabbitMQ!
复制代码
同时,接收者也会输出:
  1. Received: Hello, RabbitMQ!
复制代码
5. 部署上线

5.1 打包应用

使用 Maven 打包 Spring Boot 应用:
  1. mvn clean package
复制代码
5.2 部署到服务器

将天生的 JAR 文件上传到服务器,并运行:
  1. java -jar your-application.jar
复制代码
5.3 配置 RabbitMQ 生产情况



  • 确保 RabbitMQ 在生产情况中的安装和配置正确。
  • 创建合适的用户、权限和交换机。
  • 使用 SSL/TLS 加密 RabbitMQ 的通讯。
6. 总结

在本文中,我们详细介绍了如何在 Spring Boot 中整合 RabbitMQ,包罗配置、消息发送和接收、测试以及部署上线的完整流程。RabbitMQ 的高可用性和灵活性使其成为构建分布式体系的理想选择。
通过以上步调,你可以轻松地在 Spring Boot 应用中实现消息队列功能,提高体系的解耦性和可靠性。希望本文能资助你快速上手 RabbitMQ 的集成和使用.

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

傲渊山岳

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表