Hello

Felix Meschberger a écrit :
Hi Richard,

In Felix-277 you propose to "privatize" the ServiceTracker and make the
LogService package a dynamic dependency. I think, this is a good idea and
will, as noted in the issue, implement this.

While doing this, there is another Compendium Service dependency in the scr: Configuration Admin Service. This is a more complicated dependency because
scr does not only call into the ConfigurationAdmin service but also
registers a ManagedServiceFactory for factory components. So, if the OSGi cm
packages are not available, factory components will not work (and
configuration retrieval by other components may fail).

What do you think of having scr export and re-import the OSGi cm package ? This way, the framework would select the cm package to which other bundles get wired and scr will have the OSGi cm packages regardless of whether a CM
implementation exporting it is available.
It is what I do for the Log service and the Config Admin in iPOJO. It increase the size of the bundle but I did not find another acceptable solution.
The pom file contains folowing BND instructions:
<Import-Package>
             org.osgi.framework; version="1.3",
             org.osgi.service.cm; version="1.2",
             org.osgi.service.log; version="1.3"
</Import-Package>
<Export-Package>
             org.apache.felix.ipojo; version="0.7.1",
               ....... (some other iPOJO packages) .....
             org.osgi.service.cm; version="1.2",
             org.osgi.service.log; version="1.3"
</Export-Package>

Regards,

Clement


--
Clement Escoffier
Grenoble University
LSR - Bat. C
220, Rue de la Chimie
BP 53
38041 GRENOBLE CEDEX 9
04.76.51.40.24
http://clement.plop-plop.net


Reply via email to