2012-07-06 100 views
1

我正在用Struts2,Spring,Hibernate构建一个应用程序。 Struts操作是由Spring管理的,它们的作用域是“请求”,并且我有一些会话bean用于执行对话。在我使用Struts2会话映射之前,我想让“containsKey,put,get,cast”噩梦消失。所以我开始使用Spring管理的会话范围bean。Spring会话范围bean,线程安全

问题:这个bean不是线程安全的吗?如果我们每个浏览器都有多个windows-per-user,我们可以在session bean中获得很多线程?如何处理它?构建线程安全的会话bean?

+0

我认为你仍然会有多个浏览器的多线程问题,这可以通过让你的东西同步来避免。 – 2012-07-06 13:44:01

回答

4

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

1

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