History | Log In     View a printable version of the current page. Get help!  
Issue Details (XML | Word)

Key: JBAS-5063
Type: Bug Bug
Status: Resolved Resolved
Resolution: Done
Priority: Major Major
Assignee: Stan Silvert
Reporter: Juergen Zimmermann
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JBoss Application Server

JBoss 4.2.2 doesn't work with JSF RI 1.2_07

Created: 08/Dec/07 04:25 AM   Updated: 27/May/08 03:08 PM
Component/s: JSF
Affects Version/s: JBossAS-4.2.2.GA
Fix Version/s: JBossAS-4.2.3.GA , JBossAS-5.0.0.CR1
Security Level: Public (Everyone can see)

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment: WinXP SP2, JDK 1.6.0_03, JBoss 4.2.2
Issue Links:
Related
This issue related:
JBAS-5146 com.sun.faces.serializeServerState , ... Critical Resolved
 


 Description  « Hide
When I substitute the 2 JSF jars in $JBOSS_HOME/server/default/deploy/jboss-web.deployer/jsf-libs by the JSF jars of RI 1.2_06 there is no problem.

However, when using 1.2_07 it crashes, e.g. when I invoke http://localhost:8080/jmx-console :
* The JBoss logo can't be found
* In the console there is the following stacktrace:

2007-12-08 10:19:14,009 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jmx-console]] Exception sending request destroyed lifecycle event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener
java.lang.NullPointerException
at com.sun.faces.application.WebappLifecycleListener.syncSessionScopedBeans(WebappLifecycleListener.java:312)
at com.sun.faces.application.WebappLifecycleListener.requestDestroyed(WebappLifecycleListener.java:87)
at com.sun.faces.config.ConfigureListener.requestDestroyed(ConfigureListener.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:566)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
at java.lang.Thread.run(Thread.java:619)
2007-12-08 10:19:14,089 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jmx-console]] Exception sending request destroyed lifecycle event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener
java.lang.NullPointerException
at com.sun.faces.application.WebappLifecycleListener.syncSessionScopedBeans(WebappLifecycleListener.java:312)
at com.sun.faces.application.WebappLifecycleListener.requestDestroyed(WebappLifecycleListener.java:87)
at com.sun.faces.config.ConfigureListener.requestDestroyed(ConfigureListener.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:566)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
at java.lang.Thread.run(Thread.java:619)
2007-12-08 10:19:14,189 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jmx-console]] Exception sending request destroyed lifecycle event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener
java.lang.NullPointerException
at com.sun.faces.application.WebappLifecycleListener.syncSessionScopedBeans(WebappLifecycleListener.java:312)
at com.sun.faces.application.WebappLifecycleListener.requestDestroyed(WebappLifecycleListener.java:87)
at com.sun.faces.config.ConfigureListener.requestDestroyed(ConfigureListener.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:566)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
at java.lang.Thread.run(Thread.java:619)

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order:
Ryan Lubke [10/Dec/07 05:09 PM]
I've logged: https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=670

It will be fixed in tonight's nightly.


Stan Silvert [10/Dec/07 05:11 PM]
Thanks Ryan

Ryan Lubke [10/Dec/07 05:13 PM]
Still strange that the ApplicationAssociate would be null at that point. since handleAttributeEvent() would have been called prior to invoking syncSessionScopedBeans() and it does call getAssociate() which initializes the ivar.

Ryan Lubke [10/Dec/07 05:38 PM]
Ok, fix checked in.

Stan - Just curious, in the JBoss integration, will the WebappLifecycleListener registered for any application? Even non-jsf based?

Stan Silvert [11/Dec/07 03:37 AM]
Yes it does. I haven't looked at it in a long time, but I concluded that it wouldn't do any harm. There is not an easy way to conditionally register that listener. Do you think there is a potential problem with that?

Ryan Lubke [11/Dec/07 11:25 AM]
I can think of two potential issues (nothing that would break an application)
  1. wasting memory for Faces artifacts (application, renderers, etc)
  2. wasted cycles invoking the application, session, and request scope attribute
       listeners when these listeners aren't needed

fwiw, GlassFish will only invoke the ConfigureListener when the Faces Servlet is
defined in the web.xml.

Anyway, this information explains the bug.

Ryan Lubke [11/Dec/07 04:27 PM]
As a work around to get 1.2_07 working on JBoss, please add the context init param:

com.sun.faces.forceLoadConfiguration
 
with a value of true to jboss-4.2.2.GA/server/default/deploy/jboss-web.deployer/conf/web.xml.



Stan Silvert [27/May/08 03:05 PM]
JSF version upgraded to 1.2_08.