I think the difference is between implicit and explicit re-wiring of the bundle graph. The
OSGi spec chooses the explicit approach where you have to explicitly use PackageAdmin or
restart the framework to cause a rewiring.
An implicit approach would mean that on every bundle update/uninstall the framework would
bounce every bundle that depends on the uninstalled bundle causing a potential change in
behaviour (because they wire to something else)
Anyway, this is how the spec defines the classloading sematics of uninstalled bundles.
Stale services can be avoided by using ServiceTracker i.e. you should never hold on to a
service that is not being tracked.
View the original post :
Reply to the post :