async注解失效的原因以及如何在async中拿到request
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,async注解失效的原因以及如何在async中拿到request,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。失效原因A
千家信息网最后更新 2025年02月01日async注解失效的原因以及如何在async中拿到request
async注解失效的原因以及如何在async中拿到request,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
失效原因
Application启动类中没有添加@EnableAsync注解开启异步; 添加async注解的方法和当前调用者在同一个类中,会导致async失效: 因为在本方法内调用异步方法不会被AsyncAnnotationAdvisor切面拦截进行代理,如果不能被代理的话,那么走的肯定还是普通方法,导致异步失效。
使用了async注解后,导致应用出现循环依赖的报错
解决办法:
将async注解的方法移到一个新的service类中,可以快速解决; 当然你也可以使用@lazy注解去处理那些导致循环依赖的类;
为什么在@async注解的方法中,通过RequestContextHolder 获取 HttpServletRequest为空呢?
因为通过@async注解的方法,会被springboot丢到线程池中去执行,就等于开启了新的线程;但是RequestContextHolder使用ThreadLocal保存request实例的,那么如果在新的线程中肯定会获取不到request的;如果同学们不了解ThreadLocal,可以去了解下,并切这个在面试过程中会经常问到的;
那么怎么能在async中获取到request呢?
建议在调用异步方法的时候,将request作为参数传递到异步方法中
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
注解
方法
线程
原因
代理
帮助
循环
肯定
中看
普通
清楚
内容
切面
办法
参数
同学
实例
对此
建议
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发是怎么学习的
软件开发公司有销售员吗
e-r数据库设计图
数据库在医学上应用
查询服务器是否启动
软件开发竞赛题目
软件开发人员在软件测试阶段
大连网络技术公司靠谱吗
刑法软件开发
个人软件开发国税地税
杭州口碑网络技术有限公司
服务器安全巡查制度
如何创建使用和删除数据库
关于软件开发方面的文献
校园网络安全检查自查表
gp数据库如何解决中文乱码
宝山区创新软件开发服务介绍
如何爬取一个网站的数据库
iso软件开发过程
黑龙江网络技术资费
北京桥光互联网科技有限公司
ps5街霸5登录不了服务器
网络道德与网络安全论文2500
ad服务器配置
河南网络安全保卫总队
乐翻娱乐无法连接服务器
数据库设计社团会员管理系统
眼镜行业软件开发的优势有哪些
数据库 记录 字段
acdsee数据库文件扩展名