On 01/05/2017 10:48, Remi Forax wrote:
Hi all,
i try to load a kind of dynamic plugin using a ModuleLayer,
the plugin is wrapped in a module which is loaded dynamically.
This module has a requires directive to "java.sql" which is part of the 'root'
modules.
The problem is that my application do not requires "java.sql" because it do not
need it,
so "java.sql" is not part of the module loaded when the VM is booted,
then when i load the plugin module
- either it fails to find the required module java.sql [1]
- or i try to load java.sql from the ModuleLayer and get an exception because
java.sql can not be loaded by the boot classloader
I'm sure i've missed something ?
There isn't general support for dynamically augmenting the platform
modules. There is partial support to allow the jdk.management.agent and
java.instrument modules be dynamically loaded but that's all at this time.
One thing to point out is `--add-modules ALL-DEFAULT` in JEP 261. This
is motivated by the scenario where a container needs to load
applications that require additional modules.
-Alan.