You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Karl Pauls (JIRA)" <ji...@apache.org> on 2007/10/30 23:25:50 UTC

[jira] Resolved: (FELIX-414) ExtensionManager does not work with Tomcat

     [ https://issues.apache.org/jira/browse/FELIX-414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karl Pauls resolved FELIX-414.
------------------------------

    Resolution: Fixed

The issue boils done to the TldLocationCache assuming that it can just open a connection to any URL in a given URLClassloader without catching exceptions. I would argue that this is a bug in Tomcat.

However, I don't see any problem (other then introducing one extra class) with just returning a URLConnection that will throw an IOException on connect() v.s. throwing an IOException directly. This change is in as of revision 590492. 

Please test whether this makes your problem go away and if so close this issue. 

> ExtensionManager does not work with Tomcat
> ------------------------------------------
>
>                 Key: FELIX-414
>                 URL: https://issues.apache.org/jira/browse/FELIX-414
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>         Environment: Felix framework 1.0.1
> Tomcat 5.5.23
>            Reporter: Martijn Hendriks
>            Assignee: Karl Pauls
>
> Embedding Felix within a webapp that is deployed on a Tomcat gives the following problem:
> Felix is started and the ExtensionManager registers the URL "felix://extensions/" with the parent URLClassLoader, which is Tomcats WebappClassLoader. The org.apache.jasper.compiler.TldLocationsCache then fails to initialize because it tries open a connection to this URL (in the scanJars method). As a result, it is at least not possible to use JSPs.
> The partial stacktrace is shown below. The message "Resource not provided by any extension!" comes from the IOException that the ExtensionManager throws when it is requested to open the URL for "felix://extensions/".
> SEVERE: Servlet.service() for servlet ShowServlet threw exception
> org.apache.jasper.JasperException: Unable to initialize TldLocationsCache: Resource not provided by any extension!
>         at org.apache.jasper.compiler.TldLocationsCache.init(TldLocationsCache.java:254)
>         at org.apache.jasper.compiler.TldLocationsCache.getLocation(TldLocationsCache.java:225)
>         at org.apache.jasper.JspCompilationContext.getTldLocation(JspCompilationContext.java:527)
>         at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:423)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.