java - At what point does the OSGi container begin using the exports of bundles of updated versions added at runtime? -
Suppose my OSGI container has the following bundles:
bundle-name: bundle one Import-Package: org.foo; Version = "[1.0.0.2)" bundle-name: bundle b1 export-package: org.foo; After a while, I B2
bundle-name: bundle B2 export, after version = "1.0.0"
Package: org.foo; Version = "1.1.0"
At which point is the use of classes in B2
to 1.1.0
? Is it an inherent part of adding a bundle that exports a new version or should OSGi be done manually to see "upgrades"?
After reconciliation of the package after B2, you will need to refresh the bundle at . Ex:
Bundle Systembundle = Bundlanctex. Gate Bundle (0); Framework Wirring Framework = Systembundle.edit (Frameworkwareing Class); FrameworkWiring.refreshBundles (Arrays.asList (bundleA.getBundleId ()));
Bundle A is not refreshed, it will be wired to b1 bundle. Even if you uninstall Bundle B1, then bundle A keeps wired. Bundle B1 will be available for up to the stars until the _pending_removal_ stage (unless all the bundles are refreshed in the wires).
For more information, see.
Comments
Post a Comment