Hi Clément, Thanks for your reply.
The problem here is that the Items are dynamic, which means that they can come and go at any time, even before the MyExecutor. :-( This happens regardless of the order, and that is exactly my problem. Cheers, =David > On Jul 18, 2018, at 7:59, Clément Delgrange via osgi-dev > <[email protected]> wrote: > > Hi David, > > From the spec I read: > > > 112.5.10 Binding Services > > > > When binding services, the references are processed in the order in which > > they are specified in the component description. That is, target services > > from the first specified reference are bound before services from the next > > specified reference. > > So, I understand that if your executor comes before yours items reference in > the component declaration you have the garantee that the executor will be > bounded before your items. > > Cheers, > Clément. > > > > > -------- Message d'origine -------- > On 18 juil. 2018 à 00:16, David Leangen via osgi-dev < [email protected] > > a écrit : > > > Hi! > > I have a component that acts a bit like a whiteboard provider. It looks > something like this: > > public class MyWhiteboard > { > boolean isActive; > > @Reference MyExecutor executor; // Required service to execute on an Item > > @Reference(multiple/dynamic) > void bindItem( Item item ) > { > if (isActivated) > // add the Item > else > // Store the item to be added once this component is activated > } > > void unbindItem( Item item ) > { > // Remove the item > } > > @Activate > void activate() > { > // execute non-processed Items > isActivate = true; > } > } > > The MyExecutor must be present before an Item can be processed, but there is > no guarantee as to the binding order. All I can think of doing is ensuring > that the Component is Activated before processing. > > My question is: is there a more elegant / simpler / less error prone way of > accomplishing this? > > > Thanks! > =David > > > _______________________________________________ > OSGi Developer Mail List > [email protected] > https://mail.osgi.org/mailman/listinfo/osgi-dev > <https://mail.osgi.org/mailman/listinfo/osgi-dev> > _______________________________________________ > OSGi Developer Mail List > [email protected] > https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________ OSGi Developer Mail List [email protected] https://mail.osgi.org/mailman/listinfo/osgi-dev
