概述
在上一篇我们介绍了SpringBoot整合RabbitMQ生产者代码,本章我们介绍SpringBoot整合RabbitMQ,实现消费者工程的代码实现。与生产者集成相比,集成消费者不需要进行添加配置类声明队列交换机等,也不需要web相关代码。只需要指定消息队列名称即可,主要步骤:
- 创建Maven工程,
- 调整pom声明为SpringBoot工程,并引入RabbitMQ依赖;
- 创建SpringBoot启动类
- 添加配置文件
- 编写mq监听代码
一、创建maven工程以及加入相关依赖
pom.xml代码如下:
<?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>com.xiaohui.mqconsumer</groupId>
<artifactId>MqConsumer</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
</parent>
<dependencies>
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-web</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
</dependencies>
</project>
二、创建Springboot启动类,代码如下:
package com.xiaohui;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class,args);
}
}
三、添加springBoot配置文件 application.properties
#端口
#server.port=9999
#rabbitMq配置
spring.rabbitmq.host=172.18.255.54
spring.rabbitmq.port=5672
spring.rabbitmq.virtual-host=/myhost
spring.rabbitmq.username=xiaohui
spring.rabbitmq.password=root
四、添加接收消息监听代码。主要使用注解@RabbitListener 并指明消息队列名称。
package com.xiaohui.service;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
public class MqServiceLisener {
@RabbitListener(queues = "item_queue")
public void receiveMsg(String msg){
System.out.println("接收到的消息:"+msg);
}
}
至此我们完成消费者端所有代码编写,相比生产者少了配置类和web测试模块的代码编写。现在启动消费者代码和生产者代码后访问链接发送消息测试结果如下: