Tim, I saw that but was sure it was part of DS 1.4, which I am eagerly awaiting :)
Alain On Wed, Jul 11, 2018 at 4:28 AM Tim Ward <tim.w...@paremus.com> wrote: > Note that there is a much prettier (and type safe) way to set the ranking > using the @ServiceRanking component property annotation > <https://osgi.org/javadoc/osgi.cmpn/7.0.0/org/osgi/service/component/propertytypes/ServiceRanking.html> > . > > This will get rid of the ugly property section in your component > annotation :) > > Best Regards, > > Tim > > On 10 Jul 2018, at 22:35, Alain Picard via osgi-dev < > osgi-dev@mail.osgi.org> wrote: > > How beautiful > > g! setting to: CoreUtils--SomeService > activate:CoreUtils--SomeService > Unsetting service > setting to: ExtUtils--SomeService > activate:ExtUtils--SomeService > > > On Tue, Jul 10, 2018 at 5:33 PM Neil Bartlett <njbartl...@gmail.com> > wrote: > >> Right. If you used static+greedy then you would see the deactivate and >> activate methods called. This is because static would force DS to create a >> new component instance. >> >> Neil >> >> On Tue, 10 Jul 2018 at 22:31, Alain Picard <pic...@castortech.com> wrote: >> >>> Neil, >>> >>> As you saw I was on the right track but what I failed to realize is that >>> this doesn't trigger a new call to the @Activate method. I changed the >>> reference to use a bind/unbind method pair and a sysout in there shows >>> exactly the pattern that you described. >>> >>> Thanks >>> Alain >>> >>> >>> On Tue, Jul 10, 2018 at 5:13 PM Neil Bartlett <njbartl...@gmail.com> >>> wrote: >>> >>>> Your reference to service ICoreUtils in Example is mandatory, static >>>> and reluctant. This means that whichever service it first binds to, it will >>>> hold for as long as possible. >>>> >>>> Since the lower ranked service is published by a bundle with a lower >>>> ID, it is probably published first. So that’s the one you will get. >>>> >>>> If you uncomment the dynamic+greedy setting in Example I expect you >>>> will see the component briefly bind to the lower ranked service and then >>>> re-bind to the higher ranked service. This is part of the definition of >>>> greedy. >>>> >>>> Neil >>>> >>>> On Tue, 10 Jul 2018 at 22:05, Alain Picard via osgi-dev < >>>> osgi-dev@mail.osgi.org> wrote: >>>> >>>>> As part of DS enabling a lot of our code, I am testing how to compose >>>>> services after finding out that reference annotations are not inherited. >>>>> But I am facing a much more basic issue dealing with service ranking. >>>>> >>>>> Made a trivial example of an interface with one method and 2 >>>>> implementation and with one having a higher service ranking. I always get >>>>> the same one to execute and not the one I expect (only get the other if I >>>>> comment the @Component reference on CoreUtils and then it refreshes with >>>>> ExtUtils. >>>>> >>>>> What is wrong with my approach. >>>>> <image.png> >>>>> >>>>> _______________________________________________ >>>>> OSGi Developer Mail List >>>>> osgi-dev@mail.osgi.org >>>>> https://mail.osgi.org/mailman/listinfo/osgi-dev >>>> >>>> _______________________________________________ > OSGi Developer Mail List > osgi-dev@mail.osgi.org > https://mail.osgi.org/mailman/listinfo/osgi-dev > > >
_______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev