Blueprint does not do service damping on optional services. So if you
refer the service in your bean you have to cope with it being null.
You might use the callback blueprint offers when the service gets
registered.
Christian
On 18.09.2015 10:38, CLEMENT Jean-Philippe wrote:
Dear Karaf,
I upgraded Karaf version from 3.0.2 to 4.0.1 and obtained a
ServiceUnavailbleException from one of our bundles – which was working
fine with the former version of Karaf.
I must first say that services registering/retrieval implied in this
issue are not made in a clean way as they imply kind of circular
dependencies. But it was working fine with Karaf 3.0.2. Those services
are registered and retrieved using Blueprint.
We have a bundle A which exports base services which are used by a
bundle B. Bundle B will use those base services and will export higher
added value ones. One of B services are used by A. This service
reference (A) is set as optional.
I don’t know whether Karaf 3.0.2 was accepting something wrong which
was corrected in 4.0.1, if it’s a 4.0.1 bug, or maybe just a behavior
difference which may be configured somewhere.
Maybe first, is the starting scenario correct (even if not recommended)?
Thank you,
JP
[@@ OPEN @@]
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com