myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo Uribe (JIRA)" <>
Subject [jira] [Commented] (MYFACES-3940) FlowScopeBeanHolder calls ApplicationContextBean on PreDestroy
Date Wed, 12 Nov 2014 17:35:33 GMT


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:
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-344
>    Affects Versions: 2.2.5
>         Environment: WebSphere
>            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
> 	at org.apache.webbeans.container.BeanManagerImpl.getContext(
> 	at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(
> 	at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(
> 	at org.apache.myfaces.cdi.view.ApplicationContextBean_$$_javassist_28.getServletContext(ApplicationContextBean_$$
> 	at org.apache.myfaces.flow.cdi.FlowScopeBeanHolder.destroyBeansOnPreDestroy(

This message was sent by Atlassian JIRA

View raw message