DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42866>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=42866

           Summary: Using a function via EL produces ClassNotFoundException
           Product: Tomcat 6
           Version: unspecified
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P3
         Component: Jasper
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


running on tomcat 6.0.13, using myfaces 1.2 (snapshot) and facelets 1.1.13

When using a user defined function via EL, the classloader fails.
(Function was correct defined within a functionlib ... i skip this as it 
involves Facelets)
This problem first occurs when using the current myfaces 1.2 implementation.
As myfaces 1.1x bring their own el-implementation, myfaces 1.2x rely on the jsp 
container
(as defined by the jsf 1.1 and 1.2 spec)

Looking at 
org.apache.el.lang.FunctionMapperImpl$Function.getMethod(FunctionMapperImpl.java:147)
i replaced
Class t = Class.forName(this.owner);
with
Class t = Class.forName(this.owner, true, 
Thread.currentThread().getContextClassLoader());
and all works fine.

Below the stacktrace:

java.lang.ClassNotFoundException: mypackage.faces.util.ELFunctions
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at 
org.apache.el.lang.FunctionMapperImpl$Function.getMethod(FunctionMapperImpl.java:147)
        at 
org.apache.el.lang.FunctionMapperImpl.resolveFunction(FunctionMapperImpl.java:53)
        at org.apache.el.parser.AstFunction.getValue(AstFunction.java:71)
        at 
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at 
com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
        at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:41)
        at 
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at 
com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
        at javax.faces.component.UIOutput.getValue(UIOutput.java:68)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.sun.facelets.util.DevTools.writeAttributes(DevTools.java:240)
        at com.sun.facelets.util.DevTools.writeStart(DevTools.java:284)
        at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:189)
        at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:207)
        at com.sun.facelets.util.DevTools.debugHtml(DevTools.java:107)
        at 
com.sun.facelets.FaceletViewHandler.handleRenderException(FaceletViewHandler.java:677)
        at 
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:645)
        at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
de.hybris.platform.util.RootRequestFilter.doFilter(RootRequestFilter.java:525)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Unknown Source)

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to