0 Replies Latest reply on Aug 25, 2009 12:11 PM by derkd

    JBoss-El not compatible with JSF 1.1?

    derkd

      Currently I'm trying to implement


      jboss-el-1.0_02.CR2.jar



      so I can do a


      #{collection.size()}




      I'm using Seam 1.2.1 with JSF 1.1 on OC4J 10.1.3.4. I can't upgrade to a higher version right now because OC4J 10.1.3.4 only suppports JSF 1.1.
      When I added the JBoss-El jar and added:




      <context-param>
                  <param-name>com.sun.faces.expressionFactory</param-name>
                  <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
           </context-param>





      in my web.xml
      I get the following error:




      09/08/25 11:55:16.644 boc-webapplication-web-1.0.3: Servlet error
      java.lang.RuntimeException: exception invoking: initialize
           at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:133)
           at org.jboss.seam.Component.callComponentMethod(Component.java:1834)
           at org.jboss.seam.Component.callCreateMethod(Component.java:1757)
           at org.jboss.seam.Component.newInstance(Component.java:1746)
           at org.jboss.seam.Component.getInstance(Component.java:1643)
           at org.jboss.seam.Component.getInstance(Component.java:1622)
           at org.jboss.seam.Component.getInstance(Component.java:1599)
           at org.jboss.seam.Component.getInstance(Component.java:1594)
           at org.jboss.seam.core.Exceptions.instance(Exceptions.java:169)
           at org.jboss.seam.web.ExceptionFilter.endWebRequestAfterException(ExceptionFilter.java:91)
           at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:73)
           at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
           at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
           at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
           at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
           at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
           at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
           at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
           at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
           at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
           at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
           at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
           at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
           at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
           at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
           at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
           at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
           at java.lang.Thread.run(Thread.java:595)
      Caused by: oracle.classloader.util.AnnotatedClassNotFoundException: 
      
             Missing class: javax.faces.application.ViewExpiredException
      
           Dependent class: org.jboss.seam.util.Reflections
                    Loader: bocwebapp.web.boc-webapplication-web-1.0.3:0.0.0
               Code-Source: /D:/ccview/dukkerda/UWV_BOC_Webapplication_Development/CWIJAVAVOB/boc-webapplication/ear/target/boc-webapplication-ear-1.0.3/boc-webapplication-web-1.0.3/WEB-INF/lib/jboss-seam-1.2.1.GA.jar
             Configuration: WEB-INF/lib/ directory in D:\ccview\dukkerda\UWV_BOC_Webapplication_Development\CWIJAVAVOB\boc-webapplication\ear\target\boc-webapplication-ear-1.0.3\boc-webapplication-web-1.0.3\WEB-INF\lib
      
      This load was initiated at bocwebapp.web.boc-webapplication-web-1.0.3:0.0.0 using the Class.forName() method.
      
      The missing class is not available from any code-source or loader in the system.
           at oracle.classloader.PolicyClassLoader.handleClassNotFound(PolicyClassLoader.java:2078)
           at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1679)
           at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1635)
           at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1620)
           at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
           at java.lang.Class.forName0(Native Method)
           at java.lang.Class.forName(Class.java:164)
           at org.jboss.seam.util.Reflections.classForName(Reflections.java:163)
           at org.jboss.seam.core.Exceptions.parse(Exceptions.java:124)
           at org.jboss.seam.core.Exceptions.initialize(Exceptions.java:93)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:585)
           at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
           at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:123)
           ... 27 more
      


      It misses the javax.faces.application.ViewExpiredException. Checking the jsf-api.jar I don't see this class, but checking this jar for the 1.2 version I can see it is available.
      When moving back to the el-api.jar everything works again except for getting the size of a collection.
      Does this mean the jboss-el can only be used with the JSF 1.1 implementation?