[ https://issues.apache.org/jira/browse/MYFACES-3940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14208294#comment-14208294 ]
Leonardo Uribe commented on MYFACES-3940: ----------------------------------------- It looks like an issue related to CDI, not to MyFaces, or at least I don't see a way to fix it from MyFaces side. If @PreDestroy is called, it is supposed that the context is still valid, and that context is controlled by CDI, not by MyFaces. The problem here is without servletContext you can't destroy the beans. > FlowScopeBeanHolder calls ApplicationContextBean on PreDestroy > -------------------------------------------------------------- > > Key: MYFACES-3940 > URL: https://issues.apache.org/jira/browse/MYFACES-3940 > Project: MyFaces Core > Issue Type: Bug > Components: JSR-344 > Affects Versions: 2.2.5 > Environment: WebSphere 8.5.5.3 > Reporter: Sami Korhonen > > Session scoped cdi bean FlowScopeBeanHolder relies on existance of > ApplicationContextBean. However, when application is shutdown there is no > guarantee that application scoped bean is destroyed after session scoped > bean. Because ApplicationContextBean no longer exists, application server to > throws an exception: > [10.11.2014 10:06:50:511 EET] 00000072 ManagedBean E ManagedBean error An > error occurred while executing [@PreDestroy.] > > javax.enterprise.context.ContextNotActiveException: WebBeans context with > scope type annotation @ApplicationScoped does not exist within current thread > at > org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:323) > at > org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:124) > at > org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:95) > at > org.apache.myfaces.cdi.view.ApplicationContextBean_$$_javassist_28.getServletContext(ApplicationContextBean_$$_javassist_28.java) > at > org.apache.myfaces.flow.cdi.FlowScopeBeanHolder.destroyBeansOnPreDestroy(FlowScopeBeanHolder.java:210) -- This message was sent by Atlassian JIRA (v6.3.4#6332)