论坛首页 综合技术论坛

apache 负载均衡 session创建机制(何时创建)

浏览 11808 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-11-08  
复杂了,2次访问是1个tomcat?还是不同的....你看看session中保存的用户信息对象 是否支持序列化...如果不支持,可能只是session复制了,而session中存储的东西却没有复制.....导致第2次访问时候,另外的tomcat中找到了session,确没有存储对象...
0 请登录后投票
   发表时间:2012-11-08  
modg 写道
好吧,现象是确认了,但是原因还有待调查。

当登陆request到达服务器的时候然后服务器创建了一个session 记作s1,然后紧接着又创建了一个session 记作s2,然后用户信息都被保存在了s1,下一个request到达时只能够访问到s2,而s2中并没有保存用户信息,最后被filter拦截了下来并重定向到error page

现象是理清楚了,但是现在又搞不清楚为什么会连续创建两个session...

求解啊。。 给点看法,给点方向 也行啊



建立session监听,监听类中打断点,然后看看都什么时候创建session
0 请登录后投票
   发表时间:2012-11-08  
谢谢楼上给的意见 我就是用的sessionListener 看到两次create 相隔时间不长,因为是apache负载均衡服务器部署在linux上 不好设断点只能打log..
0 请登录后投票
   发表时间:2012-11-08   最后修改:2012-11-08
charyle 写道
复杂了,2次访问是1个tomcat?还是不同的....你看看session中保存的用户信息对象 是否支持序列化...如果不支持,可能只是session复制了,而session中存储的东西却没有复制.....导致第2次访问时候,另外的tomcat中找到了session,确没有存储对象...

两次访问的是同一个tomcat,我的服务器是只有第一次负载均衡的那种。然后我存储的对象全都支持序列化
0 请登录后投票
   发表时间:2012-11-08  
再次补充

两次创建session都是在放入对象之前就做了,还没有到filter验证用户信息呢,可以说是连在一起创建的。还有一个就是只有第一次访问是这样的,之后都很正常。换句话来说就是先访问一次服务器,然后再登陆,然后就都正常。少了第一次访问服务器就不行了
0 请登录后投票
   发表时间:2012-11-08  
modg 写道
charyle 写道
复杂了,2次访问是1个tomcat?还是不同的....你看看session中保存的用户信息对象 是否支持序列化...如果不支持,可能只是session复制了,而session中存储的东西却没有复制.....导致第2次访问时候,另外的tomcat中找到了session,确没有存储对象...

两次访问的是同一个tomcat,我的服务器是只有第一次负载均衡的那种。然后我存储的对象全都支持序列化

好辛苦的啦!!!
0 请登录后投票
   发表时间:2012-11-08  
非集群下没有问题吧?可能是均衡的时候,被负载均衡服务器访问的tomcat...不能解决的话,换个负载均衡服务器试试?
0 请登录后投票
   发表时间:2012-11-08  
charyle 写道
非集群下没有问题吧?可能是均衡的时候,被负载均衡服务器访问的tomcat...不能解决的话,换个负载均衡服务器试试?

非集群下没有问题。或者直接shutdown掉一台tomcat只留一台tomcat 也没问题
0 请登录后投票
   发表时间:2012-11-08  
charyle 写道
非集群下没有问题吧?可能是均衡的时候,被负载均衡服务器访问的tomcat...不能解决的话,换个负载均衡服务器试试?

被负载均衡服务器访问的tomcat 这一句有点不理解 意思是apache也创建了一个session?
0 请登录后投票
   发表时间:2012-11-08  
modg 写道
谢谢楼上给的意见 我就是用的sessionListener 看到两次create 相隔时间不长,因为是apache负载均衡服务器部署在linux上 不好设断点只能打log..

远程调试,,jpda
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics