Hello Stanley,
Stanley M. Ho wrote:
Richard S. Hall wrote:
Agreed, but I think part of the reason that there is an urge to push
such features into the core is because there is already feature creep in
the core that gives people the impression that we are redefining OSGi
modularity, NetBeans modularity, etc. Thus, everyone wants to make sure
their pet feature is added. If 277 could make a stand and declare that
it is at a layer beneath all of that (and live up to that declaration),
then there would likely be less push down.
Richard, It is unclear to me what you meant by feature creep in the core
because everything in the specification is essentially required to
address the problems this JSR is set out to solve. We can argue that
some features should not be in the base layer API but in the module
system defined by JSR 277 instead or vice versa, but they still belong
to the overall JSR 277 specification.
I guess the addition of service-related concepts into the module layer
would be one example of feature creep for me. While I think it makes
perfect sense to figure out how the Service Loader stuff will work on
top of the module layer, pushing Service Loader concepts down into the
module layer doesn't make any sense to me at all.
It should be sufficient for the Service Loader to probe the installed
modules and perhaps examine module metadata to determine if a module
provides a service or not. From there, the Service Loader can create
module instances and provider instances as necessary.
If this is not possible in our current constructs, then we should
address these shortcomings rather than adding higher layer concepts into
the module layer.
-> richard
To recap what we have been discussing, I think our general consensus is
to define a module system in JSR 277 that would address all the problems
this JSR is set out to solve, as well as to provide a high level
framework for different module systems (including the module system
defined by JSR 277) to layer on top for interoperation. We only
described the former in the EDR, but the latter should become more
evident in the next revision of the JSR 277 specification.
- Stanley