You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Tim McConnell (JIRA)" <ji...@apache.org> on 2009/01/07 22:18:44 UTC

[jira] Resolved: (GERONIMO-4497) Searching for resources in MultiParentClassLoader is not fully optimized

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

Tim McConnell resolved GERONIMO-4497.
-------------------------------------

    Resolution: Fixed

Changed MultiParentClassLoader to use a HashSet to maintain of list of those resources which have already been searched for, but not found, and thus preventing multiple searches for the same "not found" resources. This dramatically improves the performance when "not found" resources are searched for multiple times (e.g., by the BIRT reporting engine) especially when many parent classloaders are involved, and would otherwise have to be searched again. 

> Searching for resources in MultiParentClassLoader is not fully optimized
> ------------------------------------------------------------------------
>
>                 Key: GERONIMO-4497
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-4497
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: kernel
>    Affects Versions: 2.1.4, 2.2
>            Reporter: Tim McConnell
>            Assignee: Tim McConnell
>             Fix For: 2.1.4, 2.2
>
>
> In one failing scenario, the BIRT reporting engine is invoked with an XML data file to generate a PDF report file. MultiParentClassLoader.getResource() is invoked many times to search for various XML resources (e.g., DocumentBuilderFactory). MultiParentClassLoader searches through the current classloader and all the parent classloaders, which it should, but this can take a considerable amount of time if the resource is never found. It seems that once a resource has been searched for and not found, there is no need to search for it again in the same classloader hierarchy. 

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