[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] help understanding osgi.parentClassLoader


I'm new to OSGI so please bear with me if they are basically naive questions.
I'm using Equinox's latest version, I've gone through the mailing
lists and OSGI's core manual especailly the Module layer section and
found lots of very important information.

Under Eclipse's runtime options there is

    the classloader type to use as the parent classloader for all
bundles installed in the Framework. The valid types are the following:

        * app - the application classloader.
        * boot - the boot classloader.
        * ext - the extension classloader.
        * fwk - the framework classloader.

So my questions are -

How do you decide which type to use as your parent class loader (pcl) ?

Basically these 4 types of classloaders load classes from different
classpaths (boot and system), right?

What does it mean to be an extension classloader? In the spec it says
the extension bundles are fragments (framework or bootclasspath) but
fragments don't have their classloaders.

System.bundle is the framework bundle which exports packages through
pcl  using org.osgi.framework.system.packages then why there is
specific fwk type?

If all the classes starting with java and the one's specified by
org.osgi.framework.bootdelegation are to be loaded by pcl then what is
boot type?

what does app mean, which classloader is this referring to?

I was having some classloading issues with xerces parser and when I
switched to app it suddenly worked, I really want to understand what

Clarifications of the above questions will be very much appreciated.

Thanks much.