6 Replies Latest reply on Jun 15, 2005 9:06 AM by tomerbd2

    myfaces with jboss4.0.2 not working, on 4.0.2RC1 its fine

    Tomer ben david Novice

      Hi

      There is a problem running myfaces on jboss4.0.2 whil on jboss4.0.2RC1 everything is fine.

      The faces context is null on 4.0.2

        • 1. Re: myfaces with jboss4.0.2 not working, on 4.0.2RC1 its fin
          Stan Silvert Master

          Can you be more specific?

          Please post the stack trace and any other relevant info.

          Stan

          • 2. Re: myfaces with jboss4.0.2 not working, on 4.0.2RC1 its fin
            Adrian Hallam Newbie

            We are also having a problem with an app that works fine in JBoss 4.0.1sp1 but falls over big time in 4.0.2.

            Ours is a struts / tiles app that we have been using all the way from JBoss 3.2.4 and migrating through the releases as they come out.

            While this is a different problem; i wonder if the common parts of this problem mean we have the same root cause. We think that it is most likely to do with the move to Tomcat 5.5. Anyway, here's our stack trace:

            ----

            org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.bean.CookieTei
            org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
            org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
            org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:279)
            org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:422)
            org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
            org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:162)
            org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
            org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
            org.apache.jasper.compiler.Parser.parseElements(Parser.java:1543)
            org.apache.jasper.compiler.Parser.parse(Parser.java:126)
            org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
            org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
            org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
            org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
            org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
            org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
            org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
            org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
            org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
            org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
            org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
            org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
            org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:994)
            org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:343)
            org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:553)
            org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:211)
            org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
            org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
            com.me.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:89)
            com.me.web.UserFilter.doFilter(UserFilter.java:143)
            org.securityfilter.filter.SecurityFilter.doFilter(SecurityFilter.java:209)
            org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)

            *root cause*

            java.lang.ClassCastException: org.apache.struts.taglib.bean.CookieTei
            org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:420)
            org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
            org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:162)
            org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
            org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
            org.apache.jasper.compiler.Parser.parseElements(Parser.java:1543)
            org.apache.jasper.compiler.Parser.parse(Parser.java:126)
            org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
            org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
            org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
            org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
            org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
            org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
            org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
            org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
            org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
            org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
            org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
            org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
            org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:994)
            org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:343)
            org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:553)
            org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:211)
            org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
            org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
            com.me.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:89)
            com.me.web.UserFilter.doFilter(UserFilter.java:143)
            org.securityfilter.filter.SecurityFilter.doFilter(SecurityFilter.java:209)
            org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)

            • 3. Re: myfaces with jboss4.0.2 not working, on 4.0.2RC1 its fin
              Stan Silvert Master

              Go into /jboss-4.0.2/server/default/deploy/bossweb-tomcat55.sar/META-INF/jboss-service.xml and set UseJBossWebLoader=true. The default changed for 4.0.2.

              If that doesn't fix it there is one more config change to try, but I'd like to save that one until after you have tried changing the loader config. Please let me know if this fixes the JSF problem as well.

              Stan

              • 4. Re: myfaces with jboss4.0.2 not working, on 4.0.2RC1 its fin
                Adrian Hallam Newbie

                That fixed our problem. Thanks!

                Can you please let us know what the next config item you were going to change though so that we have a trouble shooting path to follow in future?

                Cheers,
                Adrian

                • 5. Re: myfaces with jboss4.0.2 not working, on 4.0.2RC1 its fin
                  Stan Silvert Master

                  It's probably irrelevant to 4.0.2, but there is a new feature that was left in but not documented which allows the loading of taglibs that are globally available. This will be tested and documented in 4.0.3. It shouldn't make any difference, but I was going to ask you to disable it if setting useJBossLoader=true didn't work.


                  From /jboss-4.0.2/server/default/deploy/jbossweb-tomcat55.sar/conf.web.xml

                  <!-- Use a custom options class to allow the shared tag lib descriptors
                   to be loaded from jars in the tomcat sar conf/tlds directory. The
                   standard options implementation can only find taglibs based on the
                   class loader classpath.
                   -->
                   <init-param>
                   <param-name>engineOptionsClass</param-name>
                   <param-value>org.jboss.web.tomcat.tc5.jasper.JspServletOptions</param-value>
                   </init-param>
                   <!-- Specify the jars relative to the jbossweb-tomcat55.sar that should
                   be scanned for common tag lib descriptors to include in every war
                   deployment.
                   -->
                   <init-param>
                   <description>MyFaces tlds</description>
                   <param-name>tagLibJar0</param-name>
                   <param-value>jsf-libs/myfaces-impl.jar</param-value>
                   </init-param>
                  


                  This will allow us to bundle MyFaces with the app server. Then you will no longer need to put the MyFaces jars in WEB-INF/lib

                  See http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossFaces

                  Stan

                  • 6. Re: myfaces with jboss4.0.2 not working, on 4.0.2RC1 its fin
                    tomerbd2 Newbie

                    The UseJBossWebLoader=true seems to have fixed my problem too :)