[ 
https://issues.apache.org/jira/browse/MYFACES-4047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Nicolucci updated MYFACES-4047:
------------------------------------
    Status: Patch Available  (was: Open)

> @PreDestroy method not invokved on javax.faces.bean.ViewScoped beans on 
> Session invalidation
> --------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-4047
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4047
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-344
>    Affects Versions: 2.2.10
>            Reporter: Paul Nicolucci
>            Priority: Minor
>
> Consider the following scenario:
> Bean1:
> @Named
> @ViewScoped (javax.faces.view.ViewScoped)
> Bean2:
> @ManagedBean
> @ViewScoped (javax.faces.bean.ViewScoped)
> When the session is invalidated the 
> org.apache.myfaces.cdi.impl.CDIManagedBeanHandlerImpl.onSessionDestroyed() 
> method is invoked. Here, MyFaces destroys all of the 
> javax.faces.view.ViewScoped @Named beans and @PreDestroy is invoked on these 
> beans. However, the @ManagedBean /ViewScoped bean does not have its 
> @PreDestroy invoked.
> I believe this is because the assumption was made that if an Application is 
> CDI enabled it will contain all CDI @Named beans and not any @ManagedBeans. 
> There is also the DefaultViewScopeHandler which is not yet implemented for 
> "onSessionDestroyed" that would be used in the case when CDI is not enabled, 
> that is when only @ManagedBeans are contained in the application.
> I believe it is possible to update the CDIManagedBeanHandlerImpl to be aware 
> of the ViewScoped ManagedBeans and destroy them onSessionDestroy first by 
> just getting the viewMap and iterating over the entries as we do when the 
> PreDestroyViewMapEvent is processed.
> I'd like to use this issue to resolve the problem in 
> CDIManagedBeanHandlerImpl as well as implement onSessionDestroy in 
> DefaultViewScopeHandler.java



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to