When a bundle with prerequisite SAT bundles is uninstalled, SAT can automatically uninstall the prerequisite SAT bundles if they do not have any other dependent bundles.
By default SAT bundles are not candidates for being automatically
uninstalled. An SAT bundle indicates that it can be automatically
uninstalled by overriding the BaseBundleActivator configuration parameter
method isUninstallable() to answer true.
isUninstallable() to answer true is a candidate for being
automatically uninstalled.
BaseBundleActivator so they can override the configuration
parameter method isUninstallable() to answer
true.
BundleListener, so when it hears that a bundle
has been uninstalled its prerequisite SAT bundles will be automatically
uninstalled if they do not have any dependent bundles.
For example, consider the puzzle piece diagram:
isUninstallable() to answer true.
isUninstallable() to answer
true.
BaseBundleActivator the
method isUninstallable() that returns false.
At runtime the Customer bundle acquires the VendorService from either the
Hotdog Vendor bundle or the Popcorn Vendor bundle. For the purpose of
this example we shall assume that the Customer bundle acquires the Hotdog
Vendor bundle's implementation of the VendorService.
When the Customer bundle is uninstalled SAT attempts to automatically uninstall its prerequisite bundles:
Having uninstalled the Customer bundle, the Popcorn Vendor bundle and Vendor Service bundles remain. When the Popcorn Vendor bundle is uninstalled SAT attempts to automatically uninstalls its prerequisite bundles:
SAT automatically uninstalls the Vendor Service bundle since it has no dependents.
Copyright © 2001, 2007 IBM Corporation and others. All Rights Reserved.