java - RequestContextHolder.getRequestAttributes() 在@Async 之后为空
问题描述
我们使用@Async 进行多线程处理。直到每个多线程方法我都可以看到 RequestContextHolder.getRequestAttributes() 的值。
但是当我在方法内部调试时,我将请求属性设置为 NULL。
有什么想法吗?
解决方案
为了解决这个问题,我们创建了一个ContextAwareRunnable
预先填充了当前 requestHolder、securityContextHolder 等的对象,以便所有生成的线程都能够像在主线程中运行一样执行。
推荐阅读
- google-cloud-platform - 如何执行 gcloud api 将别名 IP 从一个实例移动到另一个实例?
- linux - 树莓派 3 上的 SPI_IOC_MESSAGE(N)
- regex - 如何用正则表达式分割字符串?
- .net - TFS 构建服务器中的 Office 参考
- swift - 选择行后如何隐藏tableView
- visual-studio - 是否可以检索 VS 2017 产品密钥?
- java - Spring Boot 请求头返回空值
- excel - 在 Excel 中多次使用相同的自定义函数
- angular - 我对 ionic 中的网络插件有疑问?
- python - OpenCV2 imshow 图像显示无法按预期工作