An installation based on Fuse on Karaf has several different sets of bundles with the same names installed. These represent different versions of an application; the OSGi dependency version mechanism is expected to ensure that each bundle that has a dependency wires to, and only to, the matching dependent bundle.
An OSGi bundle has a dependency on the Java package
com.acme.foo, with a specific version. The dependency is specified in the bundle's MANIFEST.MF file like this:
However, it seems that if a later version of the bundle that contains
com.acme.foo is installed, the bundle having that dependency will rewire to the later version, despite the explicit version specification in the manifest.
- Red Hat Fuse
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.