在WorkManagerTaskExecutor中获取TransportContext null

时间:2015-11-25 06:55:39

标签: java spring workmanagers workmanagertaskexecutor

我试图获取TransportContext

  

(来自TransportContextHolder.getTransportContext();)

能够在正常流程中获取上下文,连接和HttpServletRequest。

但我有一个场景,使用Spring WorkManagerTaskExecutor创建并行调用。在新线程中我试图获取Spring TransportContext,它返回null。

有人可以帮助如何在WorkManagerTaskExecutor的概念中获取TransportContext。

1 个答案:

答案 0 :(得分:0)

您无法将传输上下文传递给由WorkManagerTaskExecutor执行的任务。

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

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