If blueprint has a mandatory service defined it goes into grace period
until the service is up (time by default 5 minutes I think).
For optional services it does not wait at all. So if you bundle A offers
services that B needs to come up then at the time A comes up B can not
yet be up.
That means if you just inject the optional service provided by B and use
it in a factory it will always fail.
For a setting see config.properties
org.apache.aries.blueprint.synchronous=true
So you could switch karaf do statup blueprint bundles asynchronously. Be
aware though that this can cause timing and concurrency issues if your
bundles are not designed very carefully.
Christian
On 18.09.2015 15:19, CLEMENT Jean-Philippe wrote:
In that case it would mean that the Blueprint used in Karaf 3.0.2 was
bugged… why not. But I don’t catch how the system determines that the
service publishing/discovery has ended and then missing services are
errors. I have the feeling that the starting phase ends too early for
some reason.
Are there any Aries blueprint settings about parallelism or things
like that?
JP
[@@ OPEN @@]
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com