4.3 Installing Bundles and Libraries

To install a bundle into the default bundle repository, simply copy it into the $SERVER_HOME/repository/bundles/usr directory. Similarly, to install a library, copy its definition into the $SERVER_HOME/repository/libraries/usr directory.

If you have configured additional watched or external repositories (additional, that is, to the default ones already configured in a freshly-installed dm Server instance), you install bundles and libraries in the same way: simply copy the files to the configured directories. You configure additional watched or external repositories in the same file as the default repositories: repository.properties.

When you install a library, you must ensure that all referenced bundles within the library have been installed as well.

Bundles must have unique names so it is considered best practice to include the version number in the file name, allowing for multiple versions of the bundle to be installed at the same time. For example, a bundle file name might be my-exciting-bundle.2.1.0.jar.

In some cases the SpringSource dm Server manages to automatically detect changes in its provisioning repository at runtime, thereby avoiding the need to restart the dm Server.

Of specific relevance during development is picking up changes to an application’s direct dependencies during deployment of the application. For example, if you deploy an application and receive a message that a dependency is missing, you can simply add the dependency to the repository and then redeploy the application. The redeploy will cause the new dependency to be picked up, allowing progress to be made without restarting the dm Server. For other changes such as addition of indirect dependencies, the SpringSource dm Server must be restarted to pick up any changes to the provisioning repository.