felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clement Escoffier <clement.escoff...@gmail.com>
Subject Re: SCR and compendium services
Date Wed, 09 May 2007 12:48:57 GMT
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



Mime
View raw message