You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Sami Korhonen (JIRA)" <de...@myfaces.apache.org> on 2014/11/10 09:57:33 UTC
[jira] [Created] (MYFACES-3940) FlowScopeBeanHolder calls
ApplicationContextBean on PreDestroy
Sami Korhonen created MYFACES-3940:
--------------------------------------
Summary: 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)