Richard S. Hall a écrit :
Clement Escoffier wrote:
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>

Shouldn't BND automatically detect the versions for you from the packageinfo files?
BND inserts versions for imported (and re-exported version), but does not add version for non imported packages (In the previous snippet, BND can add 1.3 and 1.2 version but cannot discover 0.7.1 version).

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