Discussion: #MutableConfigurations

David M. Lloyd david.lloyd at redhat.com
Wed Jul 13 20:27:21 UTC 2016


On 07/13/2016 03:09 PM, Remi Forax wrote:
> I may say something stupid but if you have one Layer by ClassLoader, why
> it's not enough ?

Even if you have one layer per classloader per module, you can add 
modules but you cannot update them when they are removed.

>
> Remi
>
>
> On July 13, 2016 6:42:56 PM GMT+02:00, "David M. Lloyd"
> <david.lloyd at redhat.com> wrote:
>
>     On 07/13/2016 09:30 AM, mark.reinhold at oracle.com wrote:
>
>         Reference:
>         http://openjdk.java.net/projects/jigsaw/spec/issues/#MutableConfigurations
>
>         2016/3/2 18:11:34 -0800, david.lloyd at redhat.com:
>
>             It appears from what I can see in the Jigsaw code, that once a
>             Configuration is calculated, it cannot be changed in any way,
>
>
>         That's true.
>
>         The overall model in the present design is that, given a set of
>         modules,
>         you first compute a configuration, which captures the resolution
>         of all
>         the modules' dependences in a consistent fashion. You then
>         instantiate
>         that as a Lay! er (or even more than one Layer, if you want).
>
>         This model is motivated by one of our primary goals, namely reliable
>         configuration. Resolving a complete configuration, rather than doing
>         so incrementally, allows the early detection of missing, duplicate,
>         and conflicting dependencies.
>
>             which
>             makes them unsuitable for use in containers which add and
>             remove modules
>             at run time. It is not clear how such containers are expected to
>             function.
>
>
>         They're expected to create Layers, which can be related
>         hierarchically as
>         needed (or perhaps more generally, cf. #NonHierarchicalLayers [1]).
>
>             I! f there is a deliberate intention that the Jigsaw system
>             will not support dynamic modification of layers/configurations
>             (including the dynamic addition and removal of modules at
>             run time),
>             then that should be explicitly stated.
>
>
>         I don't think it makes sense for Configurations to be mutable,
>         for the
>         reasons stated above. It may be that the Layer concept needs to
>         be made
>         more dynamic in certain ways, but that's a different matter.
>
>         I intend to close this issue unless there are strong objections from
>         other EG members.
>
>
>     In that case, other EG members take note: this means that hot deployment
>     as the world knows it is over as of Java EE 9, since a module can never
>     delete old or establish new dependence relationships.  This also means
>     that OSGi loses this capability as well, so either OSGi has to be
>     redefined with the new restriction, or else OSGi bundles cannot be modules!
>       .
>
>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.

-- 
- DML


More information about the jpms-spec-experts mailing list