Hello.

I think I still need to learn a lot of things about Karaf's features...

We have something like that, with 3 features levels :

- F1
  set dependencies on some Camel and Karaf features
  provides bundles that expose OSGi services

-F2
  set dependencies on many common Camel features used by all the applications
  and on F1

-Fx (all our applicative features)
  set a dependency on F2
  provides the business Camel routes as a blueprint that use services
from F1 (and more)

Note that in the bundles in Fx features, we have had to set
"<_removeheaders>Import-Service</_removeheaders>" because of missing
capabilities on services that are provided by pax-jdbc or pax-jms :
features do not install since pax-* do not expose these capabilities.

When we add the repositories and install features for F1, F2 and Fx, all works.

Now, if I want to upgrade F1, we remove the repository with option
"-u" to uninstall the feature, and it may be logical to see some
impacts on dependent features F2, Fx, but nothing.

Then we add the new repository in the new version and install again
F1. Here we also expected some impact on F2 and Fx, but nothing.

Both actions produce this kind of logs, with "No deployment change"  :

11:50:08.971 INFO [pipe-feature:install -u $args] The specified
feature: 'caterpillar-support' version '0.0.1.SNAPSHOT' has been
upgraded
11:50:08.976 INFO [pipe-feature:install -u $args] Adding features:
caterpillar-support/[0.0.1.SNAPSHOT,0.0.1.SNAPSHOT]
11:50:10.647 INFO [features-3-thread-1] No deployment change.
11:50:10.653 INFO [features-3-thread-1] Done.

What is wrong ? We expected all the dependent features and their
bundles (for Fx) to be restarted when a required dependency changes.
And in our case, all the Fx bundles are still displayed as active,
routes running, and so on, but the references with F1's services are
broken, and execution fails.

Thanks in advance for your help.

Regards.

Reply via email to