7.2 Configuring the dm Server Kernel

This section provides information about configuring the dm Server kernel by updating the file SERVER_HOME/config/kernel.properties. Topics include:

Configuring Deployment

You can configure three properties of deployment: the pickup directory into which you copy applications for hot-deployment, the deployment timeout, and whether automatic cloning of deployed bundles is enabled.

To change any of these properties, edit the SERVER_HOME/config/kernel.properties file and change the properties that begin with the deployer. prefix. The following table describes these properties.

Table 7.2. Deployment Configuration Properties

PropertyDescription
deployer.timeoutSpecifies the amount of time, in seconds, after which dm Server times out while trying to deploy a bundle, library, or plan. The default value is 300. If you want to disable deployment timeout, specify 0.
deployer.pickupDirectorySpecifies the absolute or relative path to the pickup directory to which you copy applications for hot-deployment. Relative paths are relative to SERVER_HOME. The default value is ./target/pickup..
deployer.autoCloneSpecifies whether auto-cloning of deployed applications is enabled. Valid values are true or false. Default value is true.

When you enable this property, and you deploy an application, dm Server automatically clones a dependency of the application when required. This requirement might occur, for example, when the dependency (call it bundleA) has already been deployed and pinned to a specific version of one of its own dependencies (bundleB), but then the original application also directly depends on a different version of bundleB. If bundleA can also depend on the same version of bundleB as the original application if it weren't already pinned to another version, then dm Server clones bundleA so that just the original application uses it.


The following listing displays the default configuration distributed with the dm Server; only relevant sections of the kernel.properties file are shown.

deployer.timeout=300
deployer.pickupDirectory=pickup

As the default configuration shows, the default pickup directory is SERVER_HOME/pickup, the deployment timeout is 300 seconds, and auto-cloning is enabled.

Configuring the Work Directory

SpringSource dm Server uses a work directory for internal work; by default this directory is SERVER_HOME/work. You can change this directory by updating the SERVER_HOME/config/kernel.properties file and changing the value of the io.workDirectory property; as always, relative paths are relative to the root SERVER_HOME directory. The following listing show the default configuration of the io.workDirectory property:

io.workDirectory=work

Configuring Profiles

You can configure three properties of the SpringSource dm Server's profile: the profile's name, the list of required subsystems, and the list of optional subsystems.

To change any of these properties, edit the SERVER_HOME/config/kernel.properties file and change the properties that begin with the profile. prefix. The following table describes these properties.

Table 7.3. Profile Configuration Properties

PropertyDescription
profile.nameSpecifies a human readable name for this profile. This value is used in log output and for management tools. The default value is web.
profile.subsystemsSpecifies a comma-delimited list of subsystems that are required to be present when the profile is started. If they are not present, startup will fail. The default value is com.springsource.server.web.
profile.optionalSubsystemsSpecifies a comma-delimited list of subsystems that can be loaded when the profile started if they are present. If they are not present, startup will continue without them. The default value is an empty list.

Configuring Equinox

You configure the telnet console of Equinox by updating the kernel.properties file in the $SERVER_HOME/config directory and editing the properties described in the following table.

Table 7.4. Equinox Configuration Properties

PropertyDescription
shell.enabledSpecifies whether the OSGI shell is enabled or not. Valid values are true or false.
shell.portDefines the port on which you can remotely access the OSGI shell. If not set, the shell is only available from stdout of the dm Server process.

The following example shows the default OSGI Equinox configuration in a freshly-installed kernel.properties file; only the relevant section of the file is shown.

shell.enabled=true
shell.port=2401

The example shows that the Equinox telnet console is enabled by default, and you connect to it remotely using the port 2401.