2015-11-25 86 views
0

想獲得的TransportContext越來越TransportContext空在WorkManagerTaskExecutor

(從TransportContextHolder.getTransportContext();)

這是能夠得到正常流動的情況下,連接和HttpServletRequest的。

但我有一個場景,在哪裏使用Spring WorkManagerTaskExecutor創建一個並行調用)。在新線程中試圖獲得Spring TransportContext,它返回null。

有人可以幫助如何獲得WorkContentTaskExecutor概念中的TransportContext。

回答

0

您無法將傳輸上下文傳遞到由WorkManagerTaskExecutor執行的任務中。

executor.execute(new Task(TransportContextHolder.getTransportContext()){ 
    //here constructor and property to store context 
}); 

但它不是一個好方法。在另一個線程中從傳輸上下文接收到的數據可能無效,並且您不應該進行任何發送操作。 如果您在任務執行時需要傳輸信息,只需在原始線程中讀取它並按上述方式傳遞給任務即可。從另一個線程發送數據無法正常工作。