Services in OSGi are intended so that you can implement many interfaces but publish under a subset. Therefore the set of published services must be listed explicitly.
Neil On Thursday, 5 February 2015 at 16:15, Pawel Pogorzelski wrote: > Thanks Ferry, it indeed works. Is there any way of doing it without > specifying all the object supertypes during the registration? Maybe using > Felix SCR annotations instead of OSGi ones? > > Cheers, > Pawel > > > > On Thu, Feb 5, 2015 at 5:02 PM, Ferry Huberts <[email protected]> wrote: > > > > > > > On 05/02/15 16:59, Pawel Pogorzelski wrote: > > > > > Guys, > > > I have a generic interface IRepository<T> extended by IAppleRepository, > > > IOrangeRepository and so on. Concrete implementations like AppleRepository > > > are registered in the container with non-generic interfaces like > > > IAppleRepository. Is it possible to tell DS engine I need every service > > > sublassing IRepository? Corresponding line in my component.xml looks like > > > follows: > > > > > > <reference name="Repository" cardinality="0..n" policy="dynamic" > > > interface="com.Whatever.IRepository" bind="addRepository" > > > unbind="removeRepository"/> > > > > > > but it doesn't work. I'm on Felix 4.4.1. > > > > > > Then the bundles don't advertise the IRepository interface but their > > subclass(es). > > > > Make the bundles advertise IRepository and it'll work. > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > >

