我在WAS7.0上有一个小型的JSF Web应用程序,只有一个页面,但用户群相当大。
我可以将所有(1)bean声明为请求范围,还可以使用javax.faces.STATE_SAVING_METHOD客户端,而不会使用非过期会话在服务器上遇到内存问题吗?
对大型应用程序有什么用?
原因:我正在尝试在IBM处理我的PMR时快速解决WAS7.0中的问题。
编辑:此时我没有资源尝试自己测量它并将按原样保留应用程序(希望不会惹恼太多用户)。
答案 0 :(得分:3)
您不一定需要更改bean的范围。只需将bean保留在它们所属的范围内。只有当您滥用会话范围的bean来保存请求或查看范围数据时,故事才会真正发生变化。请求或视图范围数据属于请求或视图范围bean,而不是会话范围bean。会话范围bean应该仅用于保存会话范围的数据,例如登录用户,站点范围的首选项,所选语言等。
将状态保存方法从服务器更改为客户端肯定会修复ViewExpiredException
其后备会话已过期的视图。它会降低服务器的内存使用量,但会增加服务器的网络带宽使用率。但是如果你已经在使用GZIP(或者还没有使用过GZIP,那么也可以将其打开),那么影响非常小。