Still driving off the cliff
Rémi Forax
forax at univ-mlv.fr
Fri Feb 24 10:15:35 PST 2012
On 02/24/2012 06:26 PM, David M. Lloyd wrote:
>> With Jigsaw then it's usually a 1-1 mapping between module and class
>> loaders but we do have complications in the platform and it remains to
>> be seen where that goes. In addition I'm not sure where the class loader
>> relationship will be specified or not.
>
> The *only* reason I can see that Jigsaw doesn't mandate that a module
> is a class loader is a module is so that platform classes can return
> "null" to getClassLoader and yet still be called "modules".
>
> This is such a very thin foundation on which to base decisions such as
> redefining what a module *is*, and consequently requiring two *modes*
> of operation (doesn't that seem really awful to anyone else?). If the
> platform *must* be considered a single class loader then it shouldn't
> be considered to be multiple modules - more like a single module with
> some optionally available "features". With this simple change you
> don't need to have a "compatibility mode" to run old-style
> applications, and you can consequently allow users to leverage a
> *huge* body of prior work.
There are lot of program like profilers, debuggers, agents etc
that relies on the fact that there is a way to separate the platform
classes from
the application classes, this is usually done by checking if
getClassLoader returns null
on a class.
If you break this assumption a lot of code will just break.
So even in a module world, you need a way to separate platform code from
application code
(it should be better to even have a system which is able to separate the
application, from the container,
from the platform).
I agree with David that we should not have a compatibility mode (at
runtime).
Instead of having getClassLoader() returning a module class loader,
getClassLoader() should still
return null for the platform class and jigsaw should add a new method
called getModuleClassLoader()
that returns the module class loader.
Rémi
More information about the jigsaw-dev
mailing list