日期:2014-05-16  浏览次数:20408 次

ThreadLocal session丢失
应用ThreadLocal管理session,开始getSession正常,操作几下后就返回null.跟踪local对象没变。

代码如下:
  public static final ThreadLocal local = new ThreadLocal();

public static void setSession(HttpSession httpsession) {

if ( local.get() == null) {
local.set(httpsession);
}
}

public static HttpSession getSession() {
return (HttpSession) local.get();
}
另外我是用httpsession.setAttribute(s, obj);保存用户信息,在获取用户信息时前几次正常获取,后来session返回null.
测试了好几次,出现这情况很随机没什么规律。界面部份是用ext实现,外加spring mvc转换url.


------解决方案--------------------
这和本地线程的机制有关吧 楼主是如何去测的这个httpsession