public void init(FilterConfig filterConfig) throws ServletException { ServletContext context = filterConfig.getServletContext(); ScopedContainers scopedContainers = getScopedContainers(context); setAppContainer(scopedContainers.getApplicationContainer()); isStateless = Boolean.parseBoolean(context.getInitParameter(PicoServletContainerListener.STATELESS_WEBAPP)); printSessionSize = Boolean.parseBoolean(context.getInitParameter(PicoServletContainerListener.PRINT_SESSION_SIZE)); String exposeServletInfrastructureString = filterConfig.getInitParameter("exposeServletInfrastructure"); if (exposeServletInfrastructureString == null || Boolean.parseBoolean(exposeServletInfrastructureString)) { exposeServletInfrastructure = true; } scopedContainers.getRequestContainer().as(Characteristics.NO_CACHE).addAdapter(new HttpSessionInjector()); scopedContainers.getRequestContainer().as(Characteristics.NO_CACHE).addAdapter(new HttpServletRequestInjector()); scopedContainers.getRequestContainer().as(Characteristics.NO_CACHE).addAdapter(new HttpServletResponseInjector()); initAdditionalScopedComponents(scopedContainers.getSessionContainer(), scopedContainers.getRequestContainer()); }
public void contextInitialized(final ServletContextEvent event) { ServletContext context = event.getServletContext(); isStateless = Boolean.parseBoolean(context.getInitParameter(STATELESS_WEBAPP)); ScopedContainers scopedContainers = makeScopedContainers(isStateless); scopedContainers.getApplicationContainer().setName("application"); if (!isStateless) { scopedContainers.getSessionContainer().setName("session"); } scopedContainers.getRequestContainer().setName("request"); compose(loadComposer(context), context, scopedContainers); start(scopedContainers.getApplicationContainer()); context.setAttribute(ScopedContainers.class.getName(), scopedContainers); }
protected void compose(WebappComposer composer, ServletContext context, ScopedContainers scopedContainers) { composer.composeApplication(scopedContainers.getApplicationContainer(), context); if (!isStateless) { composer.composeSession(scopedContainers.getSessionContainer()); } composer.composeRequest(scopedContainers.getRequestContainer()); }
scopedContainers.getRequestState().resetStateModelForThread(); scopedContainers.getRequestContainer().start(); setSessionContainer(scopedContainers.getSessionContainer()); setRequestContainer(scopedContainers.getRequestContainer()); containersSetupForRequest(scopedContainers.getApplicationContainer(), scopedContainers.getSessionContainer(), scopedContainers.getRequestContainer(), req, resp); scopedContainers.getRequestContainer().stop(); scopedContainers.getRequestContainer().dispose();