拦截器代码是有所变更,这样更能支持并发,否则大并发访问下有问题。很简单的改变,参考JiveJdon3.5中拦截器改变即可。
Tomcat单机情况下Jdon框架很正常,没有报错,Tomcat集群也只有在配置了HttpSession 复制情况下( web.xml中加入了<distributable/> )才会有问题,我个人是不赞成HttpSession复制的,增大服务器之间通讯量,服务器必须分出一些负载处理服务器之间通讯;HttpSession也没有必要复制,只要放入HttpSession中的数据是可重复再生成的,就没有必要复制。
一般需要配置HttpSession复制是因为防止当前服务器当机,缺省情况下,HttpSession是Sticked,粘盯住某台服务器的。这就够了。为了防止当前服务器当机,就不能sticked了,就有必要将HttpSession中登录信息通过HttpSession复制拷贝到其他服务器,这样这个新服务器可以不用用户重新登录就能够继续提供服务。
其实后面这种特殊情况,可以通过客户端Cookie来实现更换服务器后的自动登录,IBM SSO就推荐这个方案,为安全,可以使用小的flash或applet保存客户端用户名和密码。
所以,HttpSession复制从性能优化和设计上都没有必要,可以说根本不需要。
在对付这种极端HttpSession复制情况下应用,Jdon框架也已经尽力了,当然在以后会不断完善,完全放弃HttpSession缓存,但是这要考虑有态Bean特殊情况,当然这可以参考Seam做法。