本篇文章只涉及到代码实现,具体rabbitmq原理可以参考前面文章<<RabbitMQ六种队列模式>>。
一、开发环境
- sts
- springboot2.0+
- rabbitmq3.6
二、代码实现
- 创建springboot环境,具体步骤不再赘述,如不明白可以留言。
- 引入相应的jar包
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.shuofeng</groupId>
<artifactId>rabbitmq001</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>rabbitmq001</name>
<description>rabbitmq001 project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3. 配置properties环境
server.port=9090
server.context-path=/rabbitmq001
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtual-host=/testmq
#spring.rabbitmq.listener.simple.acknowledge-mode=manual
#消费者最小数量
spring.rabbitmq.listener.simple.concurrency=3
#消费者最大数量
spring.rabbitmq.listener.simple.max-concurrency=10
#spring.rabbitmq.listener.simple.retry.enabled=true
4.项目包
- config 存放队列初始化信息
- customer 是消费者
- producer 是生产者
- dto 是数据传输对象
5.运行结果
出现上图即搭建成功。