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

Reply via email to