Dominik Süß wrote:
> Wouldn't it be more straight forward to exclude the Compendium Libraries
> from the Declarative Services as well and have it as seperate bundle in
> general?
> I know this thoughts might lead to a big amount of small bundles and some
> might not like this, but in this case I think it really would make sense.
This actually would require to split up the compendium into the various
parts and have an api bundle for each part.
Updating the DS then would require to update the api and the impl bundle.

Hmm, not sure what the better option is. At least, it seems that pre
bundling the compendium libs is wrong. So +1 to remove them from
launchpad/base.

I like the way how the Apache Felix DS implementation does it. You get
one bundle containing everything you need. So updating to a new spec
version is pretty simply as the bundle is self contained.

How do other implementations do this?

Carsten
> 
> Regards,
> Dominik
> 
> On Thu, Jun 25, 2009 at 4:39 PM, Felix Meschberger <fmesc...@gmail.com>wrote:
> 
>> Hi all,
>>
>> Currently the Sling launcher (in the launchpad/base module) contains the
>> Felix framework, the OSGi Core libraries as well as the OSGi Compendium
>> libraries.
>>
>> While working on the implementation of the new Declarative Services 1.1
>> features planned for addition in the OSGi Compendium Specification 4.2 I
>> ran into a problem with this setup.
>>
>> Consider a bundle X importing the Declarative Services packages *before*
>> the new implementation is installed. Both the system bundle (as per the
>> launchpad/base module) and the Declarative Services implementation
>> export version 1.0 of the org.osgi.service.component package. This
>> results in all bundles wiring to the system bundle. Everything is fine.
>>
>> Now update the Declarative Services bundle which now exports version 1.1
>> of the org.osgi.service.component package. The Declarative Services
>> bundle binds to its own export using the latest version available.
>> Bundle X is still wired to the system bundle because there is no
>> rewiring taking place.
>>
>> The consequence is, that the new Declarative Services bundle cannot call
>> any of the activate or deactivate methods of the components in Bundle X
>> because the ComponentContext argument is not compatible.
>>
>> As a fix, I suggest we modify the launchpad/base bundle to *not* provide
>> the Compendium packages any more. Instead we will expect that either the
>> Compendium implementation bundles export the packages (as for example
>> the Apache Felix Declarative Services bundle does) or that the
>> compendium packages are installed as a bundle.
>>
>> WDYT ?
>>
>> Regards
>> Felix
>>
> 


-- 
Carsten Ziegeler
cziege...@apache.org

Reply via email to