1.ActiveMQ是什么鬼?
ActiveMQ是一种开源的基于JMS(Java Message Servie)规范的一种消息中间件的实现,ActiveMQ的设计目标是提供标准的,面向消息的,能够跨越多语言和多系统的应用集成消息通信中间件。ActiveMQ常被应用与系统业务的解耦,异步消息的推送,增加系统并发量,提高用户体验。
a.AcitveMQ的数据传送流程
b.ActiveMQ的两种消息传递类型
(1)点对点传输,即一个生产者对应一个消费者,生产者向broke推送数据,数据存储在broke的一个队列中,然后消费者接受该条队列里的数据。
(2)基于发布/订阅模式的传输,即根据订阅话题来接收相应数据,一个生产者可向多个消费者推送数据。两种消息传递类型的不同,点对点传输消费者可以接收到在连接之前生产者所推送的数据,而基于发布/订阅模式的传输方式消费者只能接收到连接之后生产者推送的数据
2.代码实现(注意:本地需先安装ActiveMQ)
(1)构建maven项目,pom文件中引入依赖:
(2)application.yml文件内容配置:
这里是mq和mail的配置,需要注意不要有重复配置,我刚开始配置了两个spring导致mail配置没有生效,项目启动时总是报无法自动注解!!!
(3)Email实体类的创建:
(4)创建生产者:
(5)创建消费者(监听器):
当监听器监听到发送邮件信息后直接调邮件模板中发送邮件,里面可以设置各种附件信息,包括捕获收件人信息错误异常。
(6)发送邮件模板类创建:
以上是一些逻辑实现,重点就是生产者创建消息放进队列中,消费者(监听器)收到消息后做一些业务处理。其次就是邮件格式的设置,包括附件,图片等。。。
源码下载地址:https://download.csdn.net/download/LQS199372/12064815
来源:CSDN
作者:LQS会飞的鱼
链接:https://blog.csdn.net/LQS199372/article/details/103761124