Sven Linstaedt created DELTASPIKE-1202:
------------------------------------------

             Summary: WindowContext not active during JSF event propagation
                 Key: DELTASPIKE-1202
                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1202
             Project: DeltaSpike
          Issue Type: Bug
          Components: JSF22-Module
    Affects Versions: 1.7.1
            Reporter: Sven Linstaedt


While trying to implement some lifecycle event listeners for performance 
measurement, I had a hard to to figure out, why some of my listeners do not get 
invoked at all. Specifically 

{code}
@WindowScoped
public class PerformanceListener implements Serializable {

    void onFacesContextInitialized(@Observes @Initialized FacesContext context) 
{
        System.out.println("Context active: " + context);
    }
}
{code}

does not get fired, because the WindowContext is not active. Even though to 
some ContextNotActiveException beeing thrown, latest stable Weld catches these 
exceptions and do not invoke the listener at all.

As window handling is performed via DS using the default config,  I thought the 
window is active when FacesContext is created.

According to DeltaSpikeLifecycleWrapper#execute the WindowContext gets 
activated after @Initialized FacesContext event being thrown. Is there a reason 
for that behavior, because the current implementation will restrict all 
ClientWindow-based scoped beans to receive only @Destroyed FacesContext, but 
not  @Initialized FacesContext events. From my humble point of view, the 
WindowContext could/should be activated, when Lifecycle#attachWindow is called.





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

Reply via email to