Details
Description
Running on tomcat 5.5 or tomcat 6 with file based session persistence. If tomcat detects that sessions have expired, it will invoke sessionDestroyed, causing an NPE at line 217.
public void sessionDestroyed(HttpSessionEvent event)
{ HttpSession session = event.getSession(); ServletContext context = session.getServletContext(); SessionStoreHolder ssh = (SessionStoreHolder) session.getAttribute(SessionStoreHolder.class.getName()); SessionContainerHolder sch = (SessionContainerHolder) context.getAttribute(SessionContainerHolder.class .getName()); ThreadLocalLifecycleState tlLifecycleState = sch.getLifecycleStateModel(); sessionStoring.putCacheForThread(ssh.getStoreWrapper()); //HERE tlLifecycleState.putLifecycleStateModelForThread(ssh.getDefaultLifecycleState()); sessionContainer.stop(); sessionContainer.dispose(); sessionStoring.invalidateCacheForThread(); }
Just checked in locally a fix for Pico web core v3.0. Push will happen as soon as I get a couple of the samples passing integration tests.