亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

RequestContextHolder.getRequestAttributes()空指針問題及解決

 更新時間:2024年01月18日 09:38:10   作者:nedjie  
這篇文章主要介紹了RequestContextHolder.getRequestAttributes()空指針問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

RequestContextHolder.getRequestAttributes()空指針

現(xiàn)象

HttpServletRequest request =((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

報(bào)空指針異常:

java.lang.NullPointerException: null

原因

在代碼中開啟了子線程,在子線程中寫了此段代碼。

我這邊是由于用了parallelStream,在并行流的業(yè)務(wù)代碼中嘗試獲取Request。

解析

1、RequestContextHolder.getRequestAttributes()為null

是由于保存requestAttributes的對象是線程隔離的ThreadLocal對象,當(dāng)http請求發(fā)送到服務(wù)端時,每個請求會開啟一個線程來處理,由RequestContextListener來初始化RequestContextHolder。

RequestContextHolder.setRequestAttributes(attributes);

當(dāng)開啟了子線程時,不會自動調(diào)用setRequestAttributes方法,所以從ThreadLocal中獲取時為null

2、parallelStream是會開啟子線程的,由于上述原因引發(fā)了異常

解決

1、由主線程獲取,傳遞給子線程

2、不要用并行流,parallelStream改為stream

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 中的語法糖,真甜

    Java 中的語法糖,真甜

    語法糖(Syntactic sugar),也叫做糖衣語法,是英國科學(xué)家發(fā)明的一個術(shù)語,通常來說使用語法糖能夠增加程序的可讀性,從而減少程序代碼出錯的機(jī)會.這篇文章主要介紹了Java 中的語法糖知識,需要的朋友可以參考下
    2020-12-12
  • Java之Rsync并發(fā)遷移數(shù)據(jù)并校驗(yàn)詳解

    Java之Rsync并發(fā)遷移數(shù)據(jù)并校驗(yàn)詳解

    這篇文章主要介紹了Java之Rsync并發(fā)遷移數(shù)據(jù)并校驗(yàn)詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • docusaurus如何添加一個搜索功能

    docusaurus如何添加一個搜索功能

    這篇文章主要介紹了docusaurus如何添加一個搜索功能,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • AbstractProcessor擴(kuò)展MapStruct自動生成實(shí)體映射工具類

    AbstractProcessor擴(kuò)展MapStruct自動生成實(shí)體映射工具類

    這篇文章主要為大家介紹了AbstractProcessor擴(kuò)展MapStruct自動生成實(shí)體映射工具類實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • druid監(jiān)控?zé)o法關(guān)閉的坑以及處理方式

    druid監(jiān)控?zé)o法關(guān)閉的坑以及處理方式

    這篇文章主要介紹了druid監(jiān)控?zé)o法關(guān)閉的坑以及處理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java實(shí)體對象與Map之間的轉(zhuǎn)換工具類代碼實(shí)例

    java實(shí)體對象與Map之間的轉(zhuǎn)換工具類代碼實(shí)例

    這篇文章主要介紹了java實(shí)體對象與Map之間的轉(zhuǎn)換工具類代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Java的Spring框架中AOP項(xiàng)目的一般配置和部署教程

    Java的Spring框架中AOP項(xiàng)目的一般配置和部署教程

    這篇文章主要介紹了Java的Spring框架中AOP項(xiàng)目的一般配置和部署教程,AOP面向方面編程的項(xiàng)目部署結(jié)構(gòu)都比較類似,因而也被看作是Spring的一種設(shè)計(jì)模式使用,需要的朋友可以參考下
    2016-04-04
  • Mybatis分頁查詢的實(shí)現(xiàn)(Rowbounds和PageHelper)

    Mybatis分頁查詢的實(shí)現(xiàn)(Rowbounds和PageHelper)

    本文主要介紹了Mybatis分頁查詢的實(shí)現(xiàn)(Rowbounds和PageHelper),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 全面解析Java設(shè)計(jì)模式之單例模式

    全面解析Java設(shè)計(jì)模式之單例模式

    這篇文章主要幫助大家全面解析Java設(shè)計(jì)模式之單例模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • SpringCloud Gateway自動裝配實(shí)現(xiàn)流程詳解

    SpringCloud Gateway自動裝配實(shí)現(xiàn)流程詳解

    Spring Cloud Gateway旨在為微服務(wù)架構(gòu)提供一種簡單有效的、統(tǒng)一的 API 路由管理方式。Spring Cloud Gateway 作為 Spring Cloud 生態(tài)系中的網(wǎng)關(guān),它不僅提供統(tǒng)一的路由方式,并且基于 Filter 鏈的方式提供了網(wǎng)關(guān)基本的功能,例如:安全、監(jiān)控/埋點(diǎn)和限流等
    2022-10-10

最新評論