Loading and Unloading System Properties

Bundles, just like any Java code, can add properties to the System properties. While it is always possible to define System properties when the Java VM is started using the Java VM argument -D, this is not convenient for bundles that are loaded and unloaded without restarting the Java VM.

Another approach is for a bundle to add its properties to the System properties when it starts, and to remove its properties from the System properties when it stops. The BaseBundleActivator class provides support for exactly this.