felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Kitching <si...@vonos.net>
Subject DependencyManager and bundle-private components
Date Thu, 21 May 2015 14:52:44 GMT

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?


To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org

View raw message