SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

我在上一章节中,给大家介绍了ActiveMQ,本节中我会介绍Spring Boot中如何整合ActiveMQ,实现消息的创建和消费。

一. Spring Boot中整合ActiveMQ

1. 创建web项目

我们按照之前的经验,创建一个web程序,并将之改造成Spring Boot项目,具体过程略。

SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

2. 添加依赖包

3. 创建application.yml配置文件

4. 创建ActiveMQ的配置类

在这个类中创建连接工厂,消息队列等。

5. 创建消息生产者的工具类

在这个Producer类中,创建几个发送消息的的方法。

6. 定义消费消息的Consumer类

7. 创建Controller,发布消息

8. 创建入口类

9. 完整项目结构

SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

10. 启动项目进行测试

测试发送点对点类型的消息

SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

队列中可以看到成功的收到了消息。

SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

在ActiveMQ中也可以看到出现了springboot.queue队列,并且队列中的消息已被消费掉。

SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

测试发送发布者订阅者类型的消息

SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

Topic中可以看到成功的收到了消息。

SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

在ActiveMQ中也可以看到出现了springboot.topic队列,并且队列中的消息已被消费掉。

SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

二. 回复消息的实现

我们在上面的基础之上,进一步实现发送消息后,进行消息的回复。

1. 改造ActiveMQ类

在该类中添加一个用来接收回复消息的队列。

完整的ActivemqConfig代码:

2. 改造Producer类

在Producer类中定义一个新的Queue类,并定义发送消息和消费消息的方法。

完整的Producer类代码:

3. 改造Consumer类

在该类中添加接收消息,并且设置回复消息的方法。

完整的Consumer类代码:

4. 重新运行,测试消息的回复功能

调用如下接口,测试消息回复功能。

SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

此时可以看到控制台输出如下信息,说明消息回复成功。

SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递

至此,我们实现了Spring boot中如何整合ActiveMQ。