Enterprise bundle archive update

After you import an enterprise bundle archive (EBA) file as an asset, newer versions of the OSGi bundles that it uses might become available. If you want an OSGi application to use a later version of a bundle, you must specify this explicitly by configuring the asset.

The application manifest in an EBA file can define a list of application modules, together with a range of versions for each module. In this way, updates from the minimum to the maximum version of a module are allowed.

The deployment manifest, which is created automatically when you import the EBA file as an asset, specifies the exact version of each module, and ensures that each time an application server starts, the bundles that make up the application are the same. When newer versions of the bundles become available, they are not updated automatically, even if they are within the version range specified in the application manifest.

If an OSGi application requires a newer version of a bundle that has been installed into a configured bundle repository, the EBA asset must be explicitly updated to pull in that newer version. Otherwise, the application continues to use the original deployed bundle version.

You can use the administrative console to list the bundles that make up the application and see the current versions in use. All the bundles except those that are provisioned by the runtime environment are listed. If later versions of any bundles are available in the configured bundle repositories, these versions are also listed, so you can choose to update to one of the later versions.

You can change the version of one or more bundles, then preview whether the changes resolve successfully. You can update a single bundle, or update the whole application. After you preview the update, you can commit or cancel the changes. If you commit the changes, the deployment manifest of the asset is updated. The changes take effect the next time that the business-level application that contains the asset is started.

In a production environment, when you want to ensure that the same versions of bundles that are used for acceptance test are used in production, you can export the appropriate deployment manifest from the test environment to the production environment. When you do this, the application manifest and the deployment manifest are checked to make sure that they contain matching information.