我试图获取TransportContext
(来自TransportContextHolder.getTransportContext();)
能够在正常流程中获取上下文,连接和HttpServletRequest。
但我有一个场景,使用Spring WorkManagerTaskExecutor创建并行调用。在新线程中我试图获取Spring TransportContext,它返回null。
有人可以帮助如何在WorkManagerTaskExecutor的概念中获取TransportContext。
答案 0 :(得分:0)
您无法将传输上下文传递给由WorkManagerTaskExecutor执行的任务。
executor.execute(new Task(TransportContextHolder.getTransportContext()){
//here constructor and property to store context
});
但这不是一个好方法。从另一个线程中的传输上下文接收的数据可能无效,您不应进行任何发送操作。 如果您在任务执行时需要传输信息,只需在原始线程中读取它并按上述方式传递给任务。从另一个线程发送数据无法正常工作。