I'm currently working on ServiceMix 4 which uses Felix.\ I have some really important performance problems in classloading. When loading JBI applications (they have some very specific classloading architecture that must be implemented to be JBI compliant), 95% of the time is spent in the following method: R4SearchPolicyCore.diagnoseClassLoadError() which is not really acceptable.
The problem is that the classloader is built dynamically and does not completely rely on OSGi. For this reason, the classloader of JBI artifacts delegates to the parent classloader, then looks inside its own jar. This means there will be lots of ClassNotFoundException thrown by the parents classloader (ultimately by Felix). Is there any way to maybe speed / disable the diagnoseClassLoadError method call which is purely informative ? I know the design of the JBI classloaders is not really a good fit in OSGi, so I will investigate a better solution (leveraging more of OSGi classloaders) anyway, but I still wanted to report the problem. -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
