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]

Reply via email to