Skip to main content



      Home
Home » Eclipse Projects » Equinox » Customizable parent of classloaders
Customizable parent of classloaders [message #42139] Fri, 07 May 2004 15:16 Go to next message
Eclipse UserFriend
Here is a repost from the equinox-dev mailing list, that some of you may
find interesting.

I checked in code to AbstractFrameworkAdaptor to support specifying what
classloader you want to use as the parent classloader of all the
BundleClassloaders in the system.

The following values are supported for the Java property
osgi.parentClassloader:

"app" - the application classloader

"ext" - the extension classloader

"boot" - the boot classloader

"fwk" - the framework's classloader

The default is to use the boot classloader. I specified a "fwk" option
because as far as I know most all other implementations of the OSGi
framework actually default to using the classloader of the framework as the
parent of all the bundle classloaders. I wanted to at least give us the
option to allow for this if needed.

Thomas Watson
Re: Customizable parent of classloaders [message #42170 is a reply to message #42139] Sat, 08 May 2004 08:28 Go to previous message
Eclipse UserFriend
Oddly enough, I just removed this feature from my plugin engine. I have a
hard-coded check for java. and javax. and if so, it jumps to the boot loader
to load those classes. Anything else always goes through the plugins
classpath first, any dependent loaders next, then the parent loader,
whichever it may be, oh, except for the plugin engine classes which I also
bump up to the parent loader.

I had an option to specify a plugins parent loader to be the loader of the
engine, the boot loader, the application loader or a shared loader that all
plugins would use to share libraries. I removed it as I didn't see the point
and performance was slightly slower, especially when getting java. and
javax. classes. In my present engine, java. and javax go through a single
method hop to the boot loader, as opposed to the normal delegation model of
the engine loader to the app loader to the ext loader to the boot loader. We
do it in 3 less method calls at the expense of a string check at the start
of the loadClass() method.


"Pascal Rapicault" <pascal_rapicault@ca.ibm.com> wrote in message
news:c7gmtq$18d$1@eclipse.org...
> Here is a repost from the equinox-dev mailing list, that some of you may
> find interesting.
>
> I checked in code to AbstractFrameworkAdaptor to support specifying what
> classloader you want to use as the parent classloader of all the
> BundleClassloaders in the system.
>
> The following values are supported for the Java property
> osgi.parentClassloader:
>
> "app" - the application classloader
>
> "ext" - the extension classloader
>
> "boot" - the boot classloader
>
> "fwk" - the framework's classloader
>
> The default is to use the boot classloader. I specified a "fwk" option
> because as far as I know most all other implementations of the OSGi
> framework actually default to using the classloader of the framework as
the
> parent of all the bundle classloaders. I wanted to at least give us the
> option to allow for this if needed.
>
> Thomas Watson
>
>
Previous Topic:[classloading] dynamic import / class cast exception
Next Topic:installing specialized adaptor
Goto Forum:
  


Current Time: Tue Jul 15 23:32:09 EDT 2025

Powered by FUDForum. Page generated in 0.05624 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top