Service provider module dependency resolving webrev
Alan Bateman
Alan.Bateman at oracle.com
Wed Jun 20 06:37:32 PDT 2012
On 19/06/2012 17:53, Paul Sandoz wrote:
> :
> I would need to verify but IIUC it will fail, since the service provider dependency is optional module P will not be included in the configuration, the resolver will calculate a successful solution, but will barf when verifying the optional constraint.
>
> It's swings and roundabouts :-) i can come up with situations where the current approach may produce odd results or barf. For example another that happens to be processed before M:
>
> M'
> requires X @> 1.0;
>
>
> I am leaning towards a solution that may present a more consistent results to developers. With the current solution it can be harder to predict or understand how the system is affected by the presence of service provider modules since service consumer modules are decoupled from service provider modules.
>
> Paul.
For this one example (M') then I assume today that it just means that
the service module P is be left out of the configuration (assuming
requires optional service) as that the result is M, M1, X at 2.0.
In any case, i think it is critical bit is that the result can be
"explained" to the user as optional dependencies and services means that
the solution isn't always obvious, and in some cases it's possible to
have several solutions too.
As to the proposed approach then I think it will continue to some
predictability issues, at least when there are multiple service provider
modules involved (maybe implementing different service interfaces) with
transitive dependencies on the same module, but different versions.
-Alan
More information about the jigsaw-dev
mailing list