最近的学习劲头越来越足了,昨晚刚写完了 RabbitMQ 介绍与环境搭建篇,今天就开始更新实战篇了,想起原来同事对我的形容:生产队的驴都没你勤快,哈哈哈哈哈哈,说得可真对!
言归正传,本篇博客参考了慕课网的 RabbitMQ 课程,在此基础上进行了简化,提供了一个最简单的无存储功能的消息队列实现,课程链接如下,感兴趣的小伙伴可自行进行学习:
https://www.imooc.com/video/17845
配置消息队列
打开并登录消息队列的管理界面,首先来配置 exchange:
图中有三个参数,分别是 exchange 的名称,类型和是否持久化。
之后配置队列:
最后来配置 exchange 和 queue 之间的绑定:
完成基本配置之后,就可以开始写代码了。
我们知道,在消息队列中,生产者是消息的提供方,消费者是消息的消费方,所以我们需要创建两个项目,分别是 生产者项目 rabbitmq-producer 和 消费者项目 rabbitmq-consumer。
创建生产者项目
生产者项目 rabbitmq-producer 目录结构如下:
1. 创建项目结构
在 java 文件夹下新建 com.rabbitmq 包,然后在包中建立子包:
entity:用于存放实体对象;
producer:用于实现生产者生产消息的服务;
2. 引入依赖和配置
需要添加的依赖项:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>rabbitmq-producer</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId