Hi Carsten, Directly taken from OSGi R4.2 specification, 112.3.2, p307:
... If the reference has a unary cardinality and there is more than one target service for the reference, then the bound service must be the target service with the highest service ranking as specified by the service.ranking property. ... So, it seems that there is a bug in the DS implementation, rather than a problem with the DS specification. Danail Nachev Lead Software Engineer/Development Tools ProSyst Labs EOOD ------------------------------------------------- stay in touch with your product. ------------------------------------------------- On 1/14/2011 12:27 PM, Carsten Ziegeler wrote: > Hi, > > we're using declarative services a lot - it's usually sufficient and > works pretty well :) > > The only drawback we're facing - and I've heard this from others as well > - is the lack of proper support for references and the service ranking > property: once a reference is bound it is not updated if a new component > providing the same service but with a higher service ranking arrives. > So, it gets more unpredictable and depends on the startup order of > services to what service such a reference is bound. > In these cases, you can't use DS. > > It would be great, to have a way to exactly define a reference that is > always bound to the service with the highest ranking. To be compatible > this has to be something new as we shouldn't change the current > behaviour. So maybe adding a new optional property to the reference tag > in the XML specifying if a rebound should happen due to service ranking > or something along these lines. > > WDYT? > > Regards > Carsten _______________________________________________ OSGi Developer Mail List [email protected] https://mail.osgi.org/mailman/listinfo/osgi-dev
