1

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

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

4

2 回答 2

4

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

于 2012-07-06T13:45:54.350 回答
1

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

于 2012-07-08T03:01:14.103 回答