0

我正在尝试获取 TransportContext

(来自 TransportContextHolder.getTransportContext();)

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

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

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

4

1 回答 1

0

您不能将传输上下文传递到您由 WorkManagerTaskExecutor 执行的任务中。

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

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

于 2015-11-25T09:16:27.593 回答