java異步調(diào)用Feign接口空指針問題解決
更新時間:2023年06月27日 11:43:11 作者:小石讀史
這篇文章主要為大家介紹了java異步調(diào)用Feign接口空指針問題解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
異步調(diào)用Feign接口空指針問題原因
Feign接口的Request 默認是主線程和子線程不共享的,當異步調(diào)用Feign接口會因為獲取不到ServletRequestAttributes報空指針。
解決方案
我們先獲取到當前請求,再分享給子線程。
首先獲取attributes :
RequestAttributes attributes = RequestContextHolder.getRequestAttributes();//防止fegin獲取不到當前請求
在線程中設(shè)置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異步調(diào)用Feign接口空指針問題解決的詳細內(nèi)容,更多關(guān)于java異步調(diào)用Feign的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Druid(新版starter)在SpringBoot下的使用教程
Druid是Java語言中最好的數(shù)據(jù)庫連接池,Druid能夠提供強大的監(jiān)控和擴展功能,DruidDataSource支持的數(shù)據(jù)庫,這篇文章主要介紹了Druid(新版starter)在SpringBoot下的使用,需要的朋友可以參考下2023-05-05
Spring-AOP自動創(chuàng)建代理之BeanNameAutoProxyCreator實例
這篇文章主要介紹了Spring-AOP自動創(chuàng)建代理之BeanNameAutoProxyCreator實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

