I implement the first cut of this as we talked about.
The DeferredModuleUseProcessor adds a the module service as a dependency
on the next phase, which is FISRT_MODULE_USE. This is actually something
I previously already did for resolved bundles - now I do it always in
The DeploymentUnitPhaseService makes Phase.FISRT_MODULE_USE passive if
it sees explicitly named services in
The processing is currently limited to OSGi only and this patch should
not effect other deployment types. The OSGi testsuite passes completely
with a few deployments hanging in Phase.FISRT_MODULE_USE before they
triggered to proceed by an explicit API call which resolves the bundle
and hance makes the module service available.
* Think about whether Phase.FISRT_MODULE_USE should always depend on the
* Remove all module == null checks in FISRT_MODULE_USE DUPs and after.
JBoss OSGi Lead
JBoss, a division of Red Hat