0

I just installed omnifaces library (2.0) using maven dependency as described here. But whenever I access application I got NullPointerException from CDI @SessionScoped bean called ViewScopeManager:

[javax.enterprise.resource.webcontainer.jsf.context] (default task-2) java.lang.NullPointerException
at org.omnifaces.cdi.viewscope.ViewScopeManager.preDestroyView(ViewScopeManager.java:132)
at org.omnifaces.cdi.viewscope.ViewScopeManager$Proxy$_$$_WeldClientProxy.preDestroyView(Unknown Source)
at org.omnifaces.application.ViewScopeEventListener.processEvent(ViewScopeEventListener.java:54)
at javax.faces.event.SystemEvent.processListener(SystemEvent.java:108)
at javax.faces.event.ComponentSystemEvent.processListener(ComponentSystemEvent.java:118)
at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2190)
at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2163)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:296)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:247)
at org.jboss.as.jsf.injection.weld.ForwardingApplication.publishEvent(ForwardingApplication.java:299)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:726)
at javax.faces.component.UIViewRoot$ViewMap.clear(UIViewRoot.java:1849)
at com.sun.faces.context.FacesContextImpl.setViewRoot(FacesContextImpl.java:471)
at com.sun.faces.application.view.ViewMetadataImpl.createMetadataView(ViewMetadataImpl.java:152)
at com.sun.faces.application.view.MultiViewHandler.addViewParameters(MultiViewHandler.java:642)
at com.sun.faces.application.view.MultiViewHandler.getFullParameterList(MultiViewHandler.java:617)
at com.sun.faces.application.view.MultiViewHandler.getRedirectURL(MultiViewHandler.java:463)
at javax.faces.application.ViewHandlerWrapper.getRedirectURL(ViewHandlerWrapper.java:250)
at org.jboss.weld.jsf.ConversationAwareViewHandler.getRedirectURL(ConversationAwareViewHandler.java:142)
at javax.faces.application.ViewHandlerWrapper.getRedirectURL(ViewHandlerWrapper.java:250)
at javax.faces.application.ViewHandlerWrapper.getRedirectURL(ViewHandlerWrapper.java:250)
at com.sun.faces.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:208)
at com.sun.faces.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:183)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:132)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:72)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63)
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745) 

I checked ViewScopeManager bean source code and it seems that activeViewScopes variable is null at that point. It is initialized by method called postConstructSession annotated with @PostConstruct annotation. I set breakpoint in that method and it seems that it's never called.

I'm using wildfly 8.2.0.Final web server with weld 2.2.9.Final. I tried using omnifaces as dependency with scope runtime and provided (as Wildfly module) but error still is present.

Is it bug in Weld? When bean is accessed first time weld should call method annotated with @PostConstruct.

Please help me solve this issue, and sorry for my english:)

Edit: It seems CDI is working correctly only when OmniFaces is used as war module deployment. It is only way. Thank You for your help.

radzionkow
  • 21
  • 4
  • Can't reproduce it on a plain vanilla WildFly 8.2 with OmniFaces in `/WEB-INF/lib` of a simple WAR (even more, OmniFaces showcase runs on exactly that server). Did you manually upgrade Weld? (it namely ships with Weld 2.2.6 by default) If so, how exactly? Symptoms suggest that it didn't went as it should. – BalusC Feb 05 '15 at 08:35
  • Before I updated to weld 2.2.9 I used original 2.2.6 implementation with same error. I'm using ear deployment so maybe this is root cause? Is it possible to use OmniFaces lib as a jboss/widlfly module? – radzionkow Feb 05 '15 at 11:03
  • OmniFaces is designed as a web module, so it should end up in `/WEB-INF/lib` of WAR (of EAR) and thus certainly not in `/lib` of EAR. In Maven perspective, you should only add OmniFaces as dependency in pom.xml of WEB module, not EAR nor EJB. – BalusC Feb 05 '15 at 11:07
  • Thx it seems it is working (only) that way. Will be ever possible to use OmniFaces as jb/wildfly module? – radzionkow Feb 05 '15 at 11:30
  • possible duplicate of [How to correctly use OmniFaces in an EAR](http://stackoverflow.com/questions/22046464/how-to-correctly-use-omnifaces-in-an-ear) – BalusC Feb 05 '15 at 11:58

0 Answers0