java异步调用Feign接口空指针问题解决
更新时间:2023年06月27日 11:43:11 作者:小石读史
这篇文章主要为大家介绍了java异步调用Feign接口空指针问题解决方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
异步调用Feign接口空指针问题原因
Feign接口的Request 默认是主线程和子线程不共享的,当异步调用Feign接口会因为获取不到ServletRequestAttributes报空指针。
解决方案
我们先获取到当前请求,再分享给子线程。
首先获取attributes :
RequestAttributes attributes = RequestContextHolder.getRequestAttributes();//防止fegin获取不到当前请求
在线程中设置attributes :
RequestContextHolder.setRequestAttributes(attributes);
实例代码
ExecutorService executorService = Executors.newSingleThreadExecutor();
List<ExportFamilyMasterImplForm> finalList = list;
RequestAttributes attributes = RequestContextHolder.getRequestAttributes();//防止fegin获取不到当前请求
executorService.execute(()->{
RequestContextHolder.setRequestAttributes(attributes);
List<ExportFamilyMasterForm> excelList = familyMemberService.dataTransformation(finalList);
});以上就是java异步调用Feign接口空指针问题解决的详细内容,更多关于java异步调用Feign的资料请关注脚本之家其它相关文章!
相关文章
解决IDEA2020.2插件lombok报错问题(亲测有效)
这篇文章主要介绍了解决IDEA2020.2插件lombok报错问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-08-08
Java中JUC包(java.util.concurrent)下的常用子类
相信大家已经对并发机制中出现的很多的常见知识点进行了总结,下面这篇文章主要给大家介绍了关于Java中JUC包(java.util.concurrent)下的常用子类的相关资料,文中通过图文以及示例代码介绍的非常详细,需要的朋友可以参考下2022-12-12
Java DecimalFormat 保留小数位及四舍五入的陷阱介绍
这篇文章主要介绍了Java DecimalFormat 保留小数位及四舍五入的陷阱,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10


最新评论