精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-11-08
复杂了,2次访问是1个tomcat?还是不同的....你看看session中保存的用户信息对象 是否支持序列化...如果不支持,可能只是session复制了,而session中存储的东西却没有复制.....导致第2次访问时候,另外的tomcat中找到了session,确没有存储对象...
|
|
返回顶楼 | |
发表时间:2012-11-08
modg 写道 好吧,现象是确认了,但是原因还有待调查。
当登陆request到达服务器的时候然后服务器创建了一个session 记作s1,然后紧接着又创建了一个session 记作s2,然后用户信息都被保存在了s1,下一个request到达时只能够访问到s2,而s2中并没有保存用户信息,最后被filter拦截了下来并重定向到error page 现象是理清楚了,但是现在又搞不清楚为什么会连续创建两个session... 求解啊。。 给点看法,给点方向 也行啊 建立session监听,监听类中打断点,然后看看都什么时候创建session |
|
返回顶楼 | |
发表时间:2012-11-08
谢谢楼上给的意见 我就是用的sessionListener 看到两次create 相隔时间不长,因为是apache负载均衡服务器部署在linux上 不好设断点只能打log..
|
|
返回顶楼 | |
发表时间:2012-11-08
最后修改:2012-11-08
charyle 写道 复杂了,2次访问是1个tomcat?还是不同的....你看看session中保存的用户信息对象 是否支持序列化...如果不支持,可能只是session复制了,而session中存储的东西却没有复制.....导致第2次访问时候,另外的tomcat中找到了session,确没有存储对象...
两次访问的是同一个tomcat,我的服务器是只有第一次负载均衡的那种。然后我存储的对象全都支持序列化 |
|
返回顶楼 | |
发表时间:2012-11-08
再次补充
两次创建session都是在放入对象之前就做了,还没有到filter验证用户信息呢,可以说是连在一起创建的。还有一个就是只有第一次访问是这样的,之后都很正常。换句话来说就是先访问一次服务器,然后再登陆,然后就都正常。少了第一次访问服务器就不行了 |
|
返回顶楼 | |
发表时间:2012-11-08
modg 写道 charyle 写道 复杂了,2次访问是1个tomcat?还是不同的....你看看session中保存的用户信息对象 是否支持序列化...如果不支持,可能只是session复制了,而session中存储的东西却没有复制.....导致第2次访问时候,另外的tomcat中找到了session,确没有存储对象...
两次访问的是同一个tomcat,我的服务器是只有第一次负载均衡的那种。然后我存储的对象全都支持序列化 好辛苦的啦!!! |
|
返回顶楼 | |
发表时间:2012-11-08
非集群下没有问题吧?可能是均衡的时候,被负载均衡服务器访问的tomcat...不能解决的话,换个负载均衡服务器试试?
|
|
返回顶楼 | |
发表时间:2012-11-08
charyle 写道 非集群下没有问题吧?可能是均衡的时候,被负载均衡服务器访问的tomcat...不能解决的话,换个负载均衡服务器试试?
非集群下没有问题。或者直接shutdown掉一台tomcat只留一台tomcat 也没问题 |
|
返回顶楼 | |
发表时间:2012-11-08
charyle 写道 非集群下没有问题吧?可能是均衡的时候,被负载均衡服务器访问的tomcat...不能解决的话,换个负载均衡服务器试试?
被负载均衡服务器访问的tomcat 这一句有点不理解 意思是apache也创建了一个session? |
|
返回顶楼 | |
发表时间:2012-11-08
modg 写道 谢谢楼上给的意见 我就是用的sessionListener 看到两次create 相隔时间不长,因为是apache负载均衡服务器部署在linux上 不好设断点只能打log..
远程调试,,jpda |
|
返回顶楼 | |