Thanks Ferry, Thanks a lot for the info. It will be very useful in the future. In this particular case since my references are optional i need to control the indeterminism. I used countdown latch but of course it created dead lock:).
Can you suggest a solution? Any will do, including redesigning the software :) Regards Daghan Sent by MailWise<http://www.mail-wise.com/installation/2> – See your emails as clean, short chats. -------- Original Message -------- From: Ferry Huberts <maili...@hupie.com> Sent: Friday, October 14, 2016 08:05 AM To: osgi-dev@mail.osgi.org Subject: Re: [osgi-dev] DS component life cycle. Mandatory references are always injected before activate. Optional references can be injected either before or after activate. On 13/10/16 23:00, Daghan ACAY wrote: > Hi all, > > I am trying to create a component that is instantiated by ConfigAdmin > and uses multiple references to operate. Basically the component should > instantiate through a factory configuration and use that configuration > to set up its own @Reference s. You can see the code here: > > https://github.com/daghanacay/com.easyiot.device/blob/master/com.easyiot.LT100H.device.provider/src/com/easyiot/LT100H/device/provider/LT100HDeviceImpl.java > > All the mentioned @Reference ed components are instantiated by > configuration as well, so at a given time the @Reference might not be > available but my own component should still work. yet should the > Reference available then it should be injected, basic 0-1 strategy. > > Problem I am facing with the current form of the code is that, the > @Reference injection is happening before the @Activate method is called. > This leads to NPE in the @Reference method due to null configuration. Is > it possible to make this code work such that config is provided to the > component before the dependency injection? > > I have tried annotating the class fields and set them "volatile". I even > make them a list and use the class fields in the activate method this > time the class fields were null due to 0-1 strategy. so I end up with > annotating the methods. > > I might have designed this all wrong, so any help simple or fundamental > is appreciated. > > Regards > > -Daghan > > Sent by MailWise <http://www.mail-wise.com/installation/2> – See your > emails as clean, short chats. > > > > _______________________________________________ > OSGi Developer Mail List > osgi-dev@mail.osgi.org > https://mail.osgi.org/mailman/listinfo/osgi-dev > -- Ferry Huberts _______________________________________________ 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