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

网站建设出题上海优化公司

网站建设出题,上海优化公司,黑色炫酷的监控网站html,产品营销推广的方案今天在做公司项目时,有一个发邮件的需求。所以写了一个发送邮件的方法后来发现发邮件很慢,导致接口响应也很慢。于是我便想到要使用异步调用去处理这个方法。于是我把注解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.15wanjia.com/news/12391.html

相关文章:

  • 给一个网站怎么做安全测试怎么建立自己的网站
  • 龙岩网站设计 都找推商吧系统平台交易网
  • 做基础工程分包应上什么网站怎样给自己的网站做优化
  • 网站建设那个公司好谷歌seo关键词排名优化
  • 网站建设中英文表述百度指数介绍
  • 电子商务网站建设与维护郑州千锋教育培训机构怎么样
  • 寿光建设银行网站域名解析查询工具
  • 黄石下陆区建设局网站精准防控高效处置
  • 2022年中国企业500强seo网络推广知识
  • 做游戏的av迅雷下载网站有哪些在线代理浏览国外网站
  • 什么网站可下载可做海报的图片万维网域名注册查询
  • 做网站要用框架吗外贸平台
  • 企业网站建设制作多少钱网络软文广告
  • 做自媒体一般都注册几个网站百度推广有效果吗
  • 国外做微课的网站兰州网络推广新手
  • 做兼职最靠谱的网站济南百度快照推广公司
  • 怎么做网站免简述seo的概念
  • 做明星简介网站侵权吗网络营销策划方案模板范文
  • wordpress 地图菜单江西seo推广
  • 网站上线要准备什么关键词优化工具互点
  • 徐州关键词优化西安seo排名扣费
  • 一起做网店的网站创意营销新点子
  • 电商的网站设计中央广播电视总台
  • 可以做请柬的网站百度云搜索引擎入口 百度网盘
  • html做的网站怎么发布百度指数下载
  • 泰安做网站哪里好教育培训机构营销方案
  • 成都网站制作怎么收费外贸网络营销推广
  • 如何用自己的电脑做网站服务器网站seo快速优化技巧
  • 个人性质网站网络推广要求
  • 网站怎么做能快速有排名免费b2b网站推广