【问题标题】:Spring session scope bean, thread-safetySpring会话范围bean,线程安全
【发布时间】:2012-07-06 23:21:57
【问题描述】:

我正在使用 Struts2、Spring、Hibernate 构建应用程序。 Struts 动作由 Spring 管理,它们的范围是“请求”,我有会话 bean 和一些状态来执行对话。在我使用 Struts2 会话映射之前,但我希望“containsKey, put, get, cast”的噩梦消失。所以我开始使用 Spring 管理的会话范围 bean。

问题:这个 bean 不是线程安全的?如果我们每个用户每个浏览器有多个窗口,我们可以在会话 bean 中获得很多线程吗?如何处理?构建线程安全的会话 bean?

【问题讨论】:

  • 我认为您仍然会遇到多个浏览器的多线程问题,这可以通过使您的内容同步来避免。

标签: java multithreading spring session scope


【解决方案1】:

是的。存储在大于请求的范围内的所有内容都可能被多个线程访问,并且必须是线程安全的。

【讨论】:

    【解决方案2】:

    如果您担心“每个用户每个浏览器的多个窗口”并且还避免 Struts2 中的“containsKey, put, get, cast”噩梦,您还可以查看struts2-conversation plugin。该插件将为您管理线程安全问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多