首页 > 解决方案 > RequestContextHolder.getRequestAttributes() 在@Async 之后为空

问题描述

我们使用@Async 进行多线程处理。直到每个多线程方法我都可以看到 RequestContextHolder.getRequestAttributes() 的值。

但是当我在方法内部调试时,我将请求属性设置为 NULL。

有什么想法吗?

标签: javaspringmultithreadingasynchronous

解决方案


为了解决这个问题,我们创建了一个ContextAwareRunnable预先填充了当前 requestHolder、securityContextHolder 等的对象,以便所有生成的线程都能够像在主线程中运行一样执行。


推荐阅读