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]
> > 
> 
> 
> 


Reply via email to