@Override public void contextDestroyed(ServletContextEvent sce) { lifecycle.contextDestroyed(sce.getServletContext()); }
public void contextDestroyed(ServletContext ctx) { fireEventForApplicationScope(ctx, DestroyedLiteral.APPLICATION); }
public void requestDestroyed(HttpServletRequest request) { if (isRequestDestroyed(request)) { return; if (ignoreForwards && isForwardedRequest(request)) { return; if (ignoreIncludes && isIncludedRequest(request)) { return; getRequestContext().invalidate(); safelyDeactivate(getRequestContext(), request); safelyDeactivate(getSessionContext(), request); safelyDissociate(getRequestContext(), request); safelyDissociate(getSessionContext(), request);
if (ignoreForwards && isForwardedRequest(request)) { return; if (ignoreIncludes && isIncludedRequest(request)) { return; getRequestContext().associate(request); getSessionContext().associate(request); if (conversationActivationEnabled) { conversationContextActivator.associateConversationContext(request); getRequestContext().activate(); getSessionContext().activate(); } catch (RuntimeException e) { try { requestDestroyed(request); } catch (Exception ignored) {
@Override public void requestInitialized(ServletRequestEvent event) { if (!lifecycle.isConversationActivationSet()) { Object value = event.getServletContext().getAttribute(CONVERSATION_FILTER_REGISTERED); if (Boolean.TRUE.equals(value)) { this.lifecycle.setConversationActivationEnabled(false); } else { this.lifecycle.setConversationActivationEnabled(true); } } if (event.getServletRequest() instanceof HttpServletRequest) { lifecycle.requestInitialized((HttpServletRequest) event.getServletRequest(), event.getServletContext()); } else { throw ServletLogger.LOG.onlyHttpServletLifecycleDefined(); } } }
public void sessionDestroyed(HttpSession session) { // Mark the session context and conversation contexts to destroy // instances when appropriate deactivateSessionDestructionContext(session); boolean destroyed = getSessionContext().destroy(session); SessionHolder.clear(); RequestScopedCache.endRequest(); if (destroyed) { // we are outside of a request (the session timed out) and therefore the session was destroyed immediately // we can fire the @Destroyed(SessionScoped.class) event immediately sessionDestroyedEvent.fire(session); } else { // the old session won't be available at the time we destroy this request // let's store its reference until then if (getRequestContext() instanceof HttpRequestContextImpl) { HttpServletRequest request = Reflections.<HttpRequestContextImpl> cast(getRequestContext()).getHttpServletRequest(); request.setAttribute(HTTP_SESSION, session); } } }
@Override public void contextInitialized(ServletContextEvent sce) { final ServletContext ctx = sce.getServletContext(); // First try to use the context id obtained from the servlet context (OSGi, Servlet containers, etc.) if (beanManager == null) { String contextId = ctx.getInitParameter(Container.CONTEXT_ID_KEY); if (contextId != null) { List<BeanManagerImpl> managers = new ArrayList<BeanManagerImpl>(Container.instance(contextId).beanDeploymentArchives().values()); Collections.sort(managers, BeanManagers.ID_COMPARATOR); beanManager = managers.get(0); } } // servlet containers may not be able to inject fields in a servlet listener if (beanManager == null) { beanManager = BeanManagerProxy.unwrap(CDI.current().getBeanManager()); } HttpContextActivationFilter filter = ServletUtils.getContextActivationFilter(beanManager, ctx); final boolean ignoreForwards = getBooleanInitParameter(ctx, InitParameters.CONTEXT_IGNORE_FORWARD, false); final boolean ignoreIncludes = getBooleanInitParameter(ctx, InitParameters.CONTEXT_IGNORE_INCLUDE, false); final boolean nestedInvocationGuard = getBooleanInitParameter(ctx, CONTEXT_IGNORE_GUARD_PARAMETER, true); final boolean lazyConversationContext = getBooleanInitParameter(ctx, CONVERSATION_CONTEXT_LAZY_PARAM, true); this.lifecycle = new HttpContextLifecycle(beanManager, filter, ignoreForwards, ignoreIncludes, lazyConversationContext, nestedInvocationGuard); if (Boolean.valueOf(ctx.getInitParameter(CONVERSATION_FILTER_REGISTERED))) { this.lifecycle.setConversationActivationEnabled(false); } this.lifecycle.contextInitialized(ctx); ctx.setAttribute(WeldInitialListener.class.getName(), this); }
private void deactivateSessionDestructionContext(HttpSession session) { HttpSessionDestructionContext context = getSessionDestructionContext(); if (context.isActive()) { context.deactivate(); context.dissociate(session); } }
public void contextInitialized(ServletContext ctx) { servletContextService.contextInitialized(ctx); fireEventForApplicationScope(ctx, InitializedLiteral.APPLICATION); }