当前位置: 首页 > news >正文

网站建设出题软文发布平台

网站建设出题,软文发布平台,高端模板建站,网站建设有没有做的必要性今天在做公司项目时,有一个发邮件的需求。所以写了一个发送邮件的方法后来发现发邮件很慢,导致接口响应也很慢。于是我便想到要使用异步调用去处理这个方法。于是我把注解Async 加到了自己service类下的一个发邮件的一个方法,后来发现并没有生…

今天在做公司项目时,有一个发邮件的需求。所以写了一个发送邮件的方法后来发现发邮件很慢,导致接口响应也很慢。于是我便想到要使用异步调用去处理这个方法。于是我把注解@Async 加到了自己service类下的一个发邮件的一个方法,后来发现并没有生效。

 

调用处代码:

我在以下两个方法上都试过加上@Async注解 可是都并没有生效

发送邮件代码:

 

我思考了一下可能应该是因为aop代理的缘故,被调用方法 和 调用处的代码都处在同一个类,所以只是相当于本类调用,并没有使用代理类 从而@Async并没有产生效果。

 

于是我查询了一下资料,证实了我的想法,于是我把@Async 注解放到了工具类 MailService 下

 

修改了注解的添加位置后,接口调用明显速度加快了,成功!

总结:

失效原因
1.@SpringBootApplication启动类当中没有添加@EnableAsync注解。
2.异步方法使用注解@Async的返回值只能为void或者Future。
3.没有走Spring的代理类。因为@Transactional和@Async注解的实现都是基于Spring的AOP,而AOP的实现是基于动态代理模式实现的。那么注解失效的原因就很明显了,有可能因为调用方法的是对象本身而不是代理对象,因为没有经过Spring容器管理。

 

解决方法:
这里具体说一下第三种情况的解决方法。
1.注解的方法必须是public方法。
2.方法一定要从另一个类中调用,也就是从类的外部调用,类的内部调用是无效的。
3.如果需要从类的内部调用,需要先获取其代理类。

 

http://www.mmbaike.com/news/28673.html

相关文章:

  • 房产汽车网站模板中央下令全国各地核酸检测
  • 网站建设与管理好吗seo网站推广公司
  • 专注高端网站建设网络服务器的功能
  • 广州好的网站建设广州seo培训
  • 官方网站查询叉车证杭州百度快照优化排名推广
  • tq网站建设做网络推广费用
  • 阿里巴巴的网站二维码怎么做南宁关键词优化服务
  • 微信公众好第三方网站怎么做最近三天发生的重要新闻
  • 做的比较好的小众网站网站seo排名
  • html编辑器的使用方法seo排名优化培训怎样
  • 做SEO公司多给网站企业网站建设模板
  • 重庆做网站建设的公司软文代写多少钱一篇
  • uc浏览器手机网页版河南seo优化
  • 网页打不开的原因及解决方法南城网站优化公司
  • h5页面设计用什么软件信息流优化师简历怎么写
  • 营销型网站建设试题交换链接适合哪些网站
  • 代理公司注册上海seo搜索引擎优化方式
  • shafow网站是谁做的网址提交百度收录
  • 网页制作怎么添加视频seo软件开发
  • axure做网站原型模板推广网站排名优化seo教程
  • 网站域名所有权查询智慧软文
  • 哪种语言做的网站好徐州seo顾问
  • 怎么样在网站上做跳转100条经典广告语
  • 重庆微网站建设网络营销专员的就业前景
  • 合肥做网站费用免费的网络推广平台
  • 网站建设 动态添加内容浅议网络营销论文
  • 大型公司为什么做网站seo的关键词无需
  • 网站建设专业知识下载百度app到桌面
  • 国外做健康的网站百度知道灰色词代发收录
  • 如何做网站服务项目链接自助网站建设