private boolean startRequestScope() { if (service.getRequestContext(false) == null) { service.startContext(RequestScoped.class, getEvent()); return true; } return false; }
@Override public Context getCurrentContext(final Class<? extends Annotation> scopeType) { if (scopeType.equals(RequestScoped.class)) { return getRequestContext(); } else if (scopeType.equals(SessionScoped.class)) { return getSessionContext(); } else if (scopeType.equals(ApplicationScoped.class)) { return getApplicationContext(); } else if (supportsConversation() && scopeType.equals(ConversationScoped.class)) { return getConversationContext(); } else if (scopeType.equals(Dependent.class)) { return dependentContext; } else if (scopeType.equals(Singleton.class)) { return getSingletonContext(); } return null; }
@Override public void contextEntered(final ThreadContext oldContext, final ThreadContext newContext) { final BeanContext beanContext = newContext.getBeanContext(); final WebBeansContext webBeansContext = beanContext.getModuleContext().getAppContext().getWebBeansContext(); if (webBeansContext == null) { return; } final ContextsService contextsService = webBeansContext.getContextsService(); final Context requestContext = CdiAppContextsService.class.cast(contextsService).getRequestContext(false); if (requestContext == null) { contextsService.startContext(RequestScoped.class, CdiAppContextsService.EJB_REQUEST_EVENT); newContext.set(DestroyContext.class, new DestroyContext(contextsService, newContext)); } }
private void destroyRequestContext() { // execute request tasks endRequest(); if (supportsConversation()) { // OWB-595 cleanupConversation(); } //Get context final RequestContext context = getRequestContext(); //Destroy context if (context != null) { context.destroy(); } // clean up the EL caches after each request final ELContextStore elStore = ELContextStore.getInstance(false); if (elStore != null) { elStore.destroyELContextStore(); } //Clear thread locals - only for request to let user do with deltaspike start(session, request)restart(request)...stop() requestContext.remove(); RequestScopedBeanInterceptorHandler.removeThreadLocals(); }