Springboot项目中如何实现RabbitMQ的运行与消息推送消费?

2026-04-28 13:363阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计554个文字,预计阅读时间需要3分钟。

Springboot项目中如何实现RabbitMQ的运行与消息推送消费?

准备安装RabbitMQ,请先下载Windows版本的RabbitMQ服务器,版本为`rabbitmq-server-3.9.13.exe`。下载链接:[点击下载](https://www.aliyundrive.com/s/VKB63ghAJZx)。下载后,双击运行安装程序。启动RabbitMQ,如果遇到端口占用问题,右键点击服务,选择停止,然后输入默认账号密码`guest`即可。

准备

先下载windos版本的mq

「rabbitmq-server-3.9.13.exe」www.aliyundrive.com/s/VKB63ghAJZx

点击下载

1启动rabbitmq

双击

如果出现端口占用的情况,进行以下操作

右键->停止

账号密码默认:

guest

这里我是用新添加的admin账号,注意要给管理员权限

生产者

2添加依赖

在项目中添加依赖

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 3配置连接

配置rabbitmq的连接

rabbitmq: host: 192.168.126.17 port: 5672 username: admin password: admin

4创建队列

@Configuration public class RabbitMQConfig {
//新建一个用来封装队列参数的对象,放入spring容器 //rabbitmq自动配置类会发现这个对象,使用其中的参数 //来创建队列 @Bean(name = "orderQueue") public Queue orderQueue(){ return new Queue("orderQueue"); } }

5生产订单

在OrderServiceImpl中注入RabbitAutoConfigtion配置类AmqpTemplate

@Service public class OrderServiceImpl implements OrderService { @Resource private AmqpTemplate amqpTemplate; @Override public void demo2() { String s = "测试demo2"; amqpTemplate.convertAndSend("orderQueue",s); } }

可以看到rabbitmq上存了一条消息

消费者 6创建消费者

在消费者系统中同样添加依赖

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>

添加配置信息

rabbitmq: host: 192.168.126.17 port: 5672 username: admin password: admin

创建消费者类

/** * 基础配置 1.依赖,2.连接,3.队列 * * *消费者从orderQueue接收订单, * 调用业务代码,完成订单存储 */ @RabbitListener(queues = "orderQueue") @Component public class OrderComsumer { @Autowired private OrderService orderService; @RabbitHandler //配合RabbitListener,指定处理消息的方法 public void receive(PdOrder order) throws Exception { System.out.println("订单已存储,id="+order.getOrderId()); } }

启动项目就可以把存在rabbitMQ中的订单给消费掉

Springboot项目中如何实现RabbitMQ的运行与消息推送消费?

本文共计554个文字,预计阅读时间需要3分钟。

Springboot项目中如何实现RabbitMQ的运行与消息推送消费?

准备安装RabbitMQ,请先下载Windows版本的RabbitMQ服务器,版本为`rabbitmq-server-3.9.13.exe`。下载链接:[点击下载](https://www.aliyundrive.com/s/VKB63ghAJZx)。下载后,双击运行安装程序。启动RabbitMQ,如果遇到端口占用问题,右键点击服务,选择停止,然后输入默认账号密码`guest`即可。

准备

先下载windos版本的mq

「rabbitmq-server-3.9.13.exe」www.aliyundrive.com/s/VKB63ghAJZx

点击下载

1启动rabbitmq

双击

如果出现端口占用的情况,进行以下操作

右键->停止

账号密码默认:

guest

这里我是用新添加的admin账号,注意要给管理员权限

生产者

2添加依赖

在项目中添加依赖

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 3配置连接

配置rabbitmq的连接

rabbitmq: host: 192.168.126.17 port: 5672 username: admin password: admin

4创建队列

@Configuration public class RabbitMQConfig {
//新建一个用来封装队列参数的对象,放入spring容器 //rabbitmq自动配置类会发现这个对象,使用其中的参数 //来创建队列 @Bean(name = "orderQueue") public Queue orderQueue(){ return new Queue("orderQueue"); } }

5生产订单

在OrderServiceImpl中注入RabbitAutoConfigtion配置类AmqpTemplate

@Service public class OrderServiceImpl implements OrderService { @Resource private AmqpTemplate amqpTemplate; @Override public void demo2() { String s = "测试demo2"; amqpTemplate.convertAndSend("orderQueue",s); } }

可以看到rabbitmq上存了一条消息

消费者 6创建消费者

在消费者系统中同样添加依赖

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>

添加配置信息

rabbitmq: host: 192.168.126.17 port: 5672 username: admin password: admin

创建消费者类

/** * 基础配置 1.依赖,2.连接,3.队列 * * *消费者从orderQueue接收订单, * 调用业务代码,完成订单存储 */ @RabbitListener(queues = "orderQueue") @Component public class OrderComsumer { @Autowired private OrderService orderService; @RabbitHandler //配合RabbitListener,指定处理消息的方法 public void receive(PdOrder order) throws Exception { System.out.println("订单已存储,id="+order.getOrderId()); } }

启动项目就可以把存在rabbitMQ中的订单给消费掉

Springboot项目中如何实现RabbitMQ的运行与消息推送消费?