async注解失效的原因以及如何在async中拿到request
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,async注解失效的原因以及如何在async中拿到request,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。失效原因A
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
数据库替换某一个数据
简要阐述网络安全工作的体制
世界贸易组织数据库技术分析
华为怎么下app软件开发
8g服务器内存条价格
苏州阿里云计算类服务器
内存数据库技术的应用
省级数据库建设
网络安全技术高峰论坛
多个服务器session
晋宁区税务服务器
精英网络技术论坛
邓白氏数据库在哪登陆
怎么监控数据库日志文件
网络安全的社会实践过程
微信订阅号管理服务器
服务器维修组图
服务器如何查询目录使用空间情况
本溪新零售软件开发哪家好
软件开发设计说明书实例
银行外包人员软件开发怎么样
数据库null类型是什么
数据库系统有哪些
软件开发方向的选题
网络安全技术高峰论坛
网络安全有关的问题
plc编程软件开发软件
服务器三合一安全授权
湖北直销软件开发
密云区定制软件开发