目录
问题描述:
问题分析:
问题解决:
分析总结:
问题描述:
在写接口的时候,遇到一个问题,前端要求直接返回结果再去运行其他代码。
问题分析:
因为经费紧张,本次使用的是网易发送邮件,也就是用你的账号给其他人发送邮件这种,这也存在一些问题,就是不能在短时间内大量发送邮件信息,于是我加了一个定时器。
限制为每半分钟发送一次,后台在接收到前端发送的数组时,数组中的数据每过半分钟才能执行一条,也就是发送给好几个人的邮件,过了半分钟才能给下一个人发送邮件这种情况。
于是这就产生了一个问题,需要等这些定时器都执行完毕才能获取到接口返回的结果。
而且这样也会造成阻塞等待,比较耗时。
问题解决:
加入异步成功解决,即为主进程直接返回一个结果,另一个进程则去执行那个比较耗时的。
具体实现:
1.在启动类上加上注解@EnableAsync。
2.在service层的方法上加上@Async 注解。
3.在controller层正常调用此方法就行。文章来源:https://www.toymoban.com/news/detail-622453.html
分析总结:
@Async 注解可以添加到类上,表示该类里面的所有方法都是异步执行,也可以添加到方法上,表示该方法异步执行。文章来源地址https://www.toymoban.com/news/detail-622453.html
到了这里,关于异步实现邮件发送的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!