weblogic10如何干掉用户session
web.xml设置
<session-config>
<session-timeout>15</session-timeout>
</session-config>
今天有一个用户说昨天突然断电,今天早上登录不了系统,我很奇怪为什么session没有失效。
白天一般有100多人同时在线,不能重启weblogic服务,有其他方法干掉该用户session吗?
------解决方案--------------------ps -ef|grep 用户名
然后kill掉,你试试看好用不
------解决方案--------------------所以你还得加一个定时跑批程序,每天凌晨清掉昨天的单点登录信息
------解决方案--------------------是不是单点登录?不是的话,应该是用户自己的问题吧?另外,使用cookie没?检查一下。session肯定早清空了,没有关系。看看其他方面的问题吧。
------解决方案--------------------这个sessionlistener是Application级别的吧,那就跟session时间无关了,关闭网页跟断电不一样,关闭网页你可以有个onunload事件通知一下服务器,断电就跟浏览器崩溃一样,是不会通知服务器的,不信你把网页的那个onunload去掉后关掉网页试试,sessionlistener中的userid会不会清掉
------解决方案--------------------估计是你用了类似缓存的东西,没及时清理无用的信心造成的。
------解决方案--------------------Java code
public void valueBound(HttpSessionBindingEvent event) {
HttpSession session = event.getSession();
ServletContext application = session.getServletContext();
// 把用户名放入在线列表
List onlineUserList = (List) application.getAttribute("onlineUserList");
// 第一次使用前,需要初始化
if (onlineUserList == null) {
onlineUserList = new ArrayList();
}
onlineUserList.add(this.username);
application.setAttribute("onlineUserList", onlineUserList);
}
------解决方案--------------------
那不对啊,如果session没失效,用户再开浏览器访问应该是新session了啊?