I am new to JBoss Fuse and am evaluating it for my employer. I am running Fuse version 6.3 - e.g.:
I have a simple case where there is a bundle (known as 'serviceA') at version 5.0 that exports a service (rbtest.servicea.TextTransformer). I have a service consumer (known as 'clientA') that imports a range of the service from 5.0 -> 6.0, e.g.
This all seems to work on initial load of bundles.
My issue is that when I update serviceA from 5.0 to 5.1 (with no changes to the service semantics, just an internal change to the service) and restart clientA I see the following in the log:
2017-05-02 11:41:57,079 | INFO | l Console Thread | BlueprintContainerImpl | 23 - org.apache.aries.blueprint.core - 1.4.5 | Bundle com.rbtest.clientA/5.0.0 is waiting for dependencies [(objectClass=rbtest.servicea.TextTransformer)]
I can see in the headers of serviceA that it is exporting the service in the required range:
JBossFuse:karaf@root> headers 439
and I can see in the headers of clientA that it is importing the required range:
JBossFuse:karaf@root> headers 438
So, it seems that clientA is stuck waiting for the dependency rbtest.servicea.TextTransformer that never comes.
Some workarounds I found are:
- reinstalling the clientA bundle (and restarting it)
- restarting fuse
Both of these work (i.e. no hanging on waiting for dependencies) but obviously these will neither scale well nor work in a production deployment.
Thanks in advance for your help,