SpringBoot整合ActiveMQ(消息中间件)实现邮件发送功能

1.ActiveMQ是什么鬼?

        ActiveMQ是一种开源的基于JMS(Java Message Servie)规范的一种消息中间件的实现,ActiveMQ的设计目标是提供标准的,面向消息的,能够跨越多语言和多系统的应用集成消息通信中间件。ActiveMQ常被应用与系统业务的解耦,异步消息的推送,增加系统并发量,提高用户体验。 

a.AcitveMQ的数据传送流程

                 SpringBoot整合ActiveMQ(消息中间件)实现邮件发送功能

b.ActiveMQ的两种消息传递类型

(1)点对点传输,即一个生产者对应一个消费者,生产者向broke推送数据,数据存储在broke的一个队列中,然后消费者接受该条队列里的数据。

(2)基于发布/订阅模式的传输,即根据订阅话题来接收相应数据,一个生产者可向多个消费者推送数据。两种消息传递类型的不同,点对点传输消费者可以接收到在连接之前生产者所推送的数据,而基于发布/订阅模式的传输方式消费者只能接收到连接之后生产者推送的数据

2.代码实现(注意:本地需先安装ActiveMQ

(1)构建maven项目,pom文件中引入依赖:

SpringBoot整合ActiveMQ(消息中间件)实现邮件发送功能

(2)application.yml文件内容配置:

SpringBoot整合ActiveMQ(消息中间件)实现邮件发送功能

这里是mq和mail的配置,需要注意不要有重复配置,我刚开始配置了两个spring导致mail配置没有生效,项目启动时总是报无法自动注解!!!

(3)Email实体类的创建:

SpringBoot整合ActiveMQ(消息中间件)实现邮件发送功能

(4)创建生产者:

SpringBoot整合ActiveMQ(消息中间件)实现邮件发送功能

(5)创建消费者(监听器):

SpringBoot整合ActiveMQ(消息中间件)实现邮件发送功能

当监听器监听到发送邮件信息后直接调邮件模板中发送邮件,里面可以设置各种附件信息,包括捕获收件人信息错误异常。

(6)发送邮件模板类创建:

SpringBoot整合ActiveMQ(消息中间件)实现邮件发送功能

 以上是一些逻辑实现,重点就是生产者创建消息放进队列中,消费者(监听器)收到消息后做一些业务处理。其次就是邮件格式的设置,包括附件,图片等。。。

源码下载地址:https://download.csdn.net/download/LQS199372/12064815