Hi,
In blueprint it is possible to define arbitrary objects (beans) which
are not published to the service registry but nevertheless can be
injected into other beans.
AFAICT, in both declarative-services and felix-dm, the only objects that
can be injected are references to services from the OSGi registry. Is
this correct?
I understand that with DS and DM, components follow the standard OSGi
lifecycles, in contrast to the Blueprint approach of "hiding" the
lifecycle. In particular, in DS and DM when a component's mandatory
dependency is deregistered then the component is also deregistered
(which can cascade further). And the kind of tracking of dependencies
required to make this happen is exactly what a service registry does.
However it's common for a bundle to have objects which are purely
internal implementation details of the bundle, and are not for external
use. Yet as far as I can see, in order to manage them with DS or DM,
such internal objects need to be published into the global service
registry - just to be able to then inject them back into components in
the same bundle.
Have I misunderstood something?
Thanks,
Simon
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]