1. 程式人生 > >子執行緒獲取不到請求中變數的問題

子執行緒獲取不到請求中變數的問題

在一次請求中,我們通常通過RequestContextHolder.getRequestAttributes()獲取請求中的變數。

 

但是有時候我們需要非同步處理業務,子執行緒從RequestContextHolder中取出的為null

 

解決辦法:

開啟新執行緒之前,新增程式碼:

//將RequestAttributes物件設定為子執行緒共享
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
RequestContextHolder.setRequestAttributes(sra, true);