2015-11-25 39 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 
}); 

但它不是一个好方法。在另一个线程中从传输上下文接收到的数据可能无效,并且您不应该进行任何发送操作。 如果您在任务执行时需要传输信息,只需在原始线程中读取它并按上述方式传递给任务即可。从另一个线程发送数据无法正常工作。