JBoss-El not compatible with JSF 1.1?
derkd Aug 25, 2009 12:11 PMCurrently 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?