首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring MVC是否可以在请求期间切换线程?

Spring MVC是否可以在请求期间切换线程?
EN

Stack Overflow用户
提问于 2013-05-27 20:00:00
回答 1查看 180关注 0票数 0

我们有一个在JBoss中运行的Spring MVC web应用程序,其中一些用户信息存储在ThreadLocal对象中。我们有一个问题,在某些请求完成执行之前,某些请求似乎会覆盖另一个请求存储在ThreadLocal中的数据。这个是可能的吗?

换句话说,在某些情况下,JBoss请求有可能让位于另一个请求吗?例如,当运行拦截器或访问某些类型的beans时?

我尝试将JBoss中的工作线程数量减少到1,并且能够以这种方式相当可靠地重现我们的问题。这是我使用的配置:

代码语言:javascript
复制
    <subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
        <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
        <virtual-server name="default-host" enable-welcome-root="true">
            <alias name="localhost"/>
            <alias name="example.com"/>
        </virtual-server>
    </subsystem>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-27 20:08:01

"...读取另一个请求已存储在ThreadLocal中的数据。“

我认为这个问题的标题应该是"May Spring MVC resue thread for consecutive“,答案是”是的,它一直都是这样做的“。

也许您认为在每种情况下都清理了线程本地存储,但在servlet环境中可能会出现各种异常情况,其中一些完全不受您的控制。例如,客户端可以随时关闭TCP连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16772760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档