用threadlocal 管理session ,session不超时...求围观!!!

lining86yc 2011-09-21 09:26:56
把session用threadlocal 管理后 session不超时了 我在web。xml里设置了超时时间。 还有在action里也同样设置了 但是没有效果。


谁遇见过这样的问题。


求帮助

求围观
...全文
182 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lining86yc 2011-09-29
  • 打赏
  • 举报
回复
顶起来 求答案
cjoy4856 2011-09-21
  • 打赏
  • 举报
回复
LZ 肯定没有效果的呀,threadLocal 用来存放信息,你的请求永远相当于一个线程,对不对,因为你请求的对应容器来说,你的会话并没有中断。可以考虑多线程的方式,但是我没有碰到这个问题。我现在只是解释threadlocal的问题。你如果使用了多线程的话
lining86yc 2011-09-21
  • 打赏
  • 举报
回复
	// 请求对象线程变量
private static final ThreadLocal<HttpSession> localSession = new ThreadLocal<HttpSession>();

public static HttpSession currentSession(HttpServletRequest request) {

HttpSession session = localSession.get();
if (session == null) {
localSession.set(request.getSession(true));
}

return localSession.get();

}

public static HttpSession getLocalSession() {
System.out.println("this is HttpSession");
return (HttpSession) localSession.get();
}

/**
* 清除方法
*/
public static void unbind() {
localSession.set(null);
}
淡定的峰哥 2011-09-21
  • 打赏
  • 举报
回复
threadlocal管理session的代码贴出来看看
24K純帥 2011-09-21
  • 打赏
  • 举报
回复
为什么要用threadlocal管理session啊
lining86yc 2011-09-21
  • 打赏
  • 举报
回复
求思路 求高手
lijing0511 2011-09-21
  • 打赏
  • 举报
回复
这两个周期都不一样的,不好管理吧。 感觉应该request当做本地线程变量,session通过request取。
lining86yc 2011-09-21
  • 打赏
  • 举报
回复
我先解释下 为什么用他管理。。用它就是解决了再用代理服务器的时候会发生访问时乱数据问题。但是用它管理后 session就不过期了
淡定的峰哥 2011-09-21
  • 打赏
  • 举报
回复
threadlocal 管理session?没必要吧,你难道还想在业务逻辑层、持久层去用它
lining86yc 2011-09-21
  • 打赏
  • 举报
回复
你指的关闭 是关闭什么
飓风zj 2011-09-21
  • 打赏
  • 举报
回复
你用完了 关闭了吗 关闭了就可以了吧
TreadLocal就是线程级别里的单例模式,更加安全
lining86yc 2011-09-21
  • 打赏
  • 举报
回复
sessionListener ???
jumpheightway 2011-09-21
  • 打赏
  • 举报
回复
如果是这样
建议你使用sessionListener

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧