Exporting - the wrong default?
Alan Bateman
Alan.Bateman at oracle.com
Thu Jul 28 09:20:54 UTC 2016
On 28/07/2016 09:47, Andrew Dinn wrote:
> :
> I believe you are missing an important point here -- one of scale. Large
> middleware suites like containers currently comprise many hundreds of
> component jars, many of them released independently by a proportionately
> large number of 3rd party developers. That means something is always in
> flux between one release and the next of the middleware suite. Your
> pretty picture of Jigsaw imposing a nice clean mechanism to control
> dependencies at the level of each individual released component does not
> scale to this sort of circumstance.
>
> A descriptor (module-info.class) baked into a 3rd party jar at release
> cannot be altered without getting the 3rd party to update and re-release
> the jar -- at which point other components then also need to change and
> be re-released in consequence. Meanwhile further components will have
> had to change to patch bugs or security issues and the whole cycle
> starts all over again.
>
> By contrast a descriptor (or suite of descriptors) independent from the
> described components can be updated without having to get multiple 3rd
> parties to be involved in re-creating the described components. This
> latter route has indeed been followed by those who have had to build
> systems at this scale for exactly this reason.
>
> What you present as an advantage - having the linkage descriptor tightly
> coupled with the linked component -- is, in fact, already known to
> present significant problems. I find it bizarre that you seem to think
> that your assumptions about the benefits offered by Jigsaw's mode of
> operation can be blithely retained - not even allowing that they might
> have some drawbacks -- in the face of repeated warnings from those who
> have experience in these matters.
>
There is nothing in the module system that forces anyone to package a
module as a modular JAR. Also nothing that requires the compiled form of
the module declaration to be in the same artifact as the module
contents. Maybe it would better to start another thread on your
concerns, it otherwise feels like we are hijacking Stephen's thread.
-Alan.
More information about the jigsaw-dev
mailing list