模拟100个用户登录报错,请帮忙看看
异常:
javax.servlet.ServletException: java.lang.IllegalStateException: getAttribute: Session already invalidated
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.ccidit.crsmis.filter.LoginControlFilter.doFilter(LoginControlFilter.java:60)
root cause
java.lang.IllegalStateException: getAttribute: Session already invalidated
org.apache.catalina.session.StandardSession.getAttribute(StandardSession.java:1067)
org.apache.catalina.session.StandardSessionFacade.getAttribute(StandardSessionFacade.java:110)
com.ccidit.crsmis.usermanage.action.LoginAction.execute(LoginAction.java:99)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.ccidit.crsmis.filter.LoginControlFilter.doFilter(LoginControlFilter.java:60)
相应代码:
ServletContext application = request.getSession().getServletContext();
List sessioncache = (List)application.getAttribute("sessioncahce");
if (sessioncache!=null)
{
Iterator it = sessioncache.iterator();
while(it.hasNext())
{
HttpSession session = (HttpSession)it.next();
UserLoginData udata = (UserLoginData)session.getAttribute("UserLoginData");这行抛的异常
if (udata!=null)
{
System.out.println("session:--->"+udata.getStrLoginName());
if (strUserName.equals(udata.getStrLoginName())){
request.setAttribute("message", "该用户已登陆");
return mapping.findForward("warning");
}
}
}
}
我作了一个tomcatw集群,用loadrunner模拟了100用户登录,loadrunner运行完之后,我再正常登录,就抛出了异常
java.lang.IllegalStateException: getAttribute: Session already invalidated