You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xbean-dev@geronimo.apache.org by "Jarek Gawor (JIRA)" <ji...@apache.org> on 2011/07/07 21:22:16 UTC

[jira] [Commented] (XBEAN-177) DelegatingBundle optimization

    [ https://issues.apache.org/jira/browse/XBEAN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13061510#comment-13061510 ] 

Jarek Gawor commented on XBEAN-177:
-----------------------------------

In revision 1143986 I updated the DelegatingBundle code to minimize the use of PackageAdmin (one per call instead of one per bundle) as it started affecting performance when dealing with a lot of bundles.


> DelegatingBundle optimization
> -----------------------------
>
>                 Key: XBEAN-177
>                 URL: https://issues.apache.org/jira/browse/XBEAN-177
>             Project: XBean
>          Issue Type: Improvement
>          Components: bundleutils
>    Affects Versions: 3.8
>            Reporter: Jarek Gawor
>            Assignee: Jarek Gawor
>             Fix For: 3.8
>
>
> DelegatingBundle forwards loadClass() (among other functions) to multiple bundles. Right now the loadClass() implementation iterates over the bundles and attempts to load the class from each bundle until the class is successfully loaded.
> This method can actually be harmful in certain situations for example with bundles with DynamicImport-Package: *. It can needlessly establish a dynamic wired for the given package on each bundle in the list. 
> One way to avoid this problem is to check (once CNFE is raised) if the given bundle is wired to some bundle that exports the given package. If so, there is no need to check the remaining bundles to load the class.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira