12.8 Configuring the OSGi Framework

This section provides information about configuring the OSGi framework by updating the following files in the $SERVER_HOME/lib directory:

Table 12.9. OSGi Framework Configuration Files

Property FileDescription
org.eclipse.virgo.kernel.launch.propertiesConfigures OSGi framework properties.
java6-server.profileConfigures the OSGi framework profile.

Configuring OSGi Framework Properties

You specify the framework properties in the $SERVER_HOME/lib/org.eclipse.virgo.kernel.launch.properties file. The properties most relevant to users are described in the following table.

WARNING: We strongly recommend that you update only the osgi.console and org.eclipse.virgo.suppress.heap.dumps properties; updating the other properties could cause VTS to fail. These properties are documented for your information only.

Table 12.10. Framework Properties

PropertyDescription
launcher.bundles This property lists the bundles that comprise the kernel using file: URIs. Bundles to be started are tagged with a trailing @start.
org.eclipse.virgo.suppress.heap.dumps Set to 'false' by default this property will prevent heap dumps being contributed to dumps taken during a First Failure Data Capture (FFDC) event. When the heap dumps are produced they will be located along with the other dump artifacts in the $SERVER_HOME/serviceability/dump/ folder.
osgi.java.profile Specifies the profile to use using a file: URI with default value file:lib/java6-server.profile.

Configuring OSGi Framework Profile

You specify the framework profile in the $SERVER_HOME/lib/java6-server.profile file. The properties most relevant to users are described in the following table.

WARNING: We advise you not to change the framework profile unless you are sure you know exactly what you are doing; updating the profile could cause VTS to fail.

Table 12.11. Framework Profile Properties

PropertyDescription
org.osgi.framework.bootdelegation

This property specifies the packages which are loaded by delegation to the application class loader. Bundles can load classes belonging to these packages without importing the packages. The .* wildcard matches any package suffix. java.* is always boot delegated and must not be specified in this property.

A common reason for adding packages to this property is to run VTS under a performance profiler.

org.osgi.framework.system.packages

This property specifies the packages which are exported by the system bundle.

Although the system bundle is typically imported into the user region, any additional packages will not be visible in the user region unless you also import them using the packagedImports property. See Configuring the User Region for instructions.

It is very occasionally necessary to extend the set, for example when configuring email logging appenders since the implementation of javax.mail is intimately related to the implementation of javax.activation.

To make the corresponding classes available for loading, the relevant JAR file(s) should be placed in $SERVER_HOME/lib so that they will be added to the application class path.