java異步調(diào)用Feign接口空指針問題解決
異步調(diào)用Feign接口空指針問題原因
Feign接口的Request 默認(rèn)是主線程和子線程不共享的,當(dāng)異步調(diào)用Feign接口會(huì)因?yàn)楂@取不到ServletRequestAttributes報(bào)空指針。
解決方案
我們先獲取到當(dāng)前請求,再分享給子線程。
首先獲取attributes :
RequestAttributes attributes = RequestContextHolder.getRequestAttributes();//防止fegin獲取不到當(dāng)前請求
在線程中設(shè)置attributes :
RequestContextHolder.setRequestAttributes(attributes);
實(shí)例代碼
ExecutorService executorService = Executors.newSingleThreadExecutor(); List<ExportFamilyMasterImplForm> finalList = list; RequestAttributes attributes = RequestContextHolder.getRequestAttributes();//防止fegin獲取不到當(dāng)前請求 executorService.execute(()->{ RequestContextHolder.setRequestAttributes(attributes); List<ExportFamilyMasterForm> excelList = familyMemberService.dataTransformation(finalList); });
以上就是java異步調(diào)用Feign接口空指針問題解決的詳細(xì)內(nèi)容,更多關(guān)于java異步調(diào)用Feign的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解決IDEA2020.2插件lombok報(bào)錯(cuò)問題(親測有效)
這篇文章主要介紹了解決IDEA2020.2插件lombok報(bào)錯(cuò)問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Java中JUC包(java.util.concurrent)下的常用子類
相信大家已經(jīng)對并發(fā)機(jī)制中出現(xiàn)的很多的常見知識點(diǎn)進(jìn)行了總結(jié),下面這篇文章主要給大家介紹了關(guān)于Java中JUC包(java.util.concurrent)下的常用子類的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12Java DecimalFormat 保留小數(shù)位及四舍五入的陷阱介紹
這篇文章主要介紹了Java DecimalFormat 保留小數(shù)位及四舍五入的陷阱,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Spring加載屬性文件方式(自動(dòng)加載優(yōu)先級問題)
這篇文章主要介紹了Spring加載屬性文件方式(自動(dòng)加載優(yōu)先級問題),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02