java - 从子线程获取http session ?

标签 java multithreading spring

我正在使用 spring 框架,这是我用来检索 HttpSession 对象的代码:

ServletRequestAttributes attr;
try {
    attr = (ServletRequestAttributes) RequestContextHolder
            .currentRequestAttributes();
} catch (Exception e) { }
HttpSession session = attr.getRequest().getSession(false);

事情是RequestContextHolder

Holder class to expose the web request in the form of a thread-bound RequestAttributes object.

因此,在容器创建的用于处理请求的线程之外不会看到它。有没有办法在某个子线程中检索 session ?

最佳答案

不,没有。在 Servlet API 中, session 是请求对象的一个​​属性。因此,如果您没有请求,您会检索众多现有 session 中的哪一个?

关于java - 从子线程获取http session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32867387/

相关文章:

java - 最少阻塞 java 缓存

Python,一个线程生成另一个线程是否正确

java - 如何将 Spring Config XML 迁移到 Spring Boot 注释

spring - spring-data-mongodb 的查询拦截器用于软删除

java - Spring Rest中如何同时使用@Pathvariable和@RequestParam

java - 本地主机的 Eclipse tomcat https 配置

java - 扫描 env 属性文件时忽略 PropertySource 属性文件

java - 递归方法中的堆栈溢出错误

python - 试图将文件下载缓冲区拆分为单独的线程

java - 为java threadPool中的每个线程设置超时