前不久,遇到session丢失的问题,然后在论坛上提了问题(http://www.oschina.net/question/2011331_238365) ,然而并没有得到自己想要的结果。
网上有人说可以打印sessionID,或者打印session的内存地址,增加session监听器。
按照此思路,我发现:
1 session并没有丢失,丢失的是session中保存的用户登陆信息(stuInfo);
2用户登陆信息(StuInfo类数据)丢失时,session的内存地址会发生变化,但是 session中的其它类型的数据(如String类型的数据)并没有因此而丢失。
3 增加session监听器,配置log4j日志输出后,我发现了thread-7。每次stuInfo丢失时,都能见到thread-7。stuInfo丢失时,客户端没有任何操作。下图是部分日志。
我的log4j输出格式是:%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n。Thread-7应该是某个线程名。
这个Thread-7是什么呢?它怎么导致session中的属性数据丢失了呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。