Thanks David for those points!! > You don't say which kind of annotations you are using (osgi ds, felix ds, or > bnd ds). I hope its osgi ds :-) Well I am used to Felix SCR annotation. Need to start using OSGi DS :)
> This will work fine. However, you don't need the dynamic policy as long as > all the CheckReference implementations are available before this manager > component is created. But that is not easy to control ... so I typically default to Dynamic Policy > Also, at least if you use bnd "next" for the annotation processing, you don't > need to specify the spec version, bnd will figure it out for you. Okie. I use Felix SCR Plugin so ther we need to specify that > You might not want to instantiate the CheckReferenceImpls unless you actually > want to use one of them. In this case you can use bind/unbind methods taking > a ServiceReference<CheckReference> which will give you the properties you > need to decide which one you want, and you can use > > componentContext.locateService( "CheckReference", ref ) > > to get the actual service. Good point. Delaying the service instantiation helps. Does componentContext.locateService perform an actual lookup everytime by querying the OSGi Service registry or it maintains a local copy of search results for subsequent calls for those service references.? regards Chetan
