On 04/25/2017 08:31 AM, Alan Bateman wrote:
On 25/04/2017 14:16, Michael Nascimento wrote:

:
and also the fact
packages must be defined by a single module even if they are not
exported,
because it was considered nearly impossible to track in real world
scenarios.

Keep in mind that this is not a module system limitation, instead it is
just a consequence of defining all modules on the application module
path to the application class loader. Containers or applications using
the API doing dynamic configurations and creating module layers can put
modules in their own namespace to avoid conflicts between concealed
packages.

Someday then we might get to the point where modules on the application
module path could be assigned to different class loaders but it has huge
implications and would take an entire release to shake out issues.

I tend to disagree with the assertion that there would be huge implications. Libraries and applications have been coping with multiple class loaders for many, many years, so this nothing new for them. There are no real compatibility implications, as the JPMS ecosystem does not yet exist. There are certainly no detrimental security implications (on the contrary, security should be marginally improved in the security manager situation as getting class loaders for other classes requires special permissions).

What exactly *are* the huge implications of this approach? My attempts to get to the bottom of this on the spec experts list have gotten nowhere, so hopefully I'll have better luck here.

BTW: The reasons why there are conflicts between concealed packages is a
good discussion point for another thread.

-Alan

--
- DML

Reply via email to