public void contextDestroyed(ServletContextEvent event) { ScopedContainers scopedContainers = getScopedContainers(event.getServletContext()); stop(scopedContainers.getApplicationContainer()); dispose(scopedContainers.getApplicationContainer()); }
public void sessionCreated(HttpSessionEvent event) { if (!isStateless) { HttpSession session = event.getSession(); ScopedContainers scopedContainers = getScopedContainers(session.getServletContext()); SessionStoreHolder ssh = new SessionStoreHolder(scopedContainers.getSessionStoring().resetCacheForThread(), scopedContainers.getSessionState().resetStateModelForThread()); start(scopedContainers.getSessionContainer()); session.setAttribute(SessionStoreHolder.class.getName(), ssh); } }
public void sessionDestroyed(HttpSessionEvent event) { if (!isStateless) { HttpSession session = event.getSession(); ScopedContainers scopedContainers = getScopedContainers(session.getServletContext()); MutablePicoContainer sessionCtr = scopedContainers.getSessionContainer(); SessionStoreHolder ssh = (SessionStoreHolder) session.getAttribute(SessionStoreHolder.class.getName()); scopedContainers.getSessionStoring().putCacheForThread(ssh.getStoreWrapper()); scopedContainers.getSessionState().putLifecycleStateModelForThread(ssh.getLifecycleState()); stop(sessionCtr); dispose(sessionCtr); scopedContainers.getSessionStoring().invalidateCacheForThread(); scopedContainers.getSessionState().invalidateStateModelForThread(); session.setAttribute(SessionStoreHolder.class.getName(), null); } }