Composite bundles
A composite bundle is a bundle that contains multiple bundles.
When you have several bundles that always coexist, it makes sense to bundle them together and deploy them jointly. A composite bundle is deployed as a .cba file. You can create a composite bundle using the MDM Workbench.
A composite bundle project does not contain code. Instead, the
manifest file, MANIFEST.MF, contains metadata
that lists the bundles contained by the composite bundle. For example:
Bundle-Name: com.ibm.mdm.server.compositeBundle
Bundle-SymbolicName: com.ibm.mdm.server.compositeBundle
Bundle-Version: 1.0.0
CompositeBundle-ManifestVersion: 1
CompositeBundle-Content: com.ibm.mdm.server.bundle1,
Com.ibm.mdm.server.bundle2
Manifest-Version: 1.0
Import-Package: com.dwl.base,
Com.dwl.base.xml
Export-Package: com.ibm.server.extensions,
com.ibm.mdm.server.extensions2
CompositeBundle-ExportService: com.ibm.mdm.z.api.MyInterface
Because a composite bundle is still a bundle, importing and exporting
packages and declaring a version for itself, it has many of the same
components in its manifest that a regular bundle has, but also contains
a list of composite bundle contents:
CompositeBundle-Content: com.ibm.mdm.server.bundle1,
Com.ibm.mdm.server.bundle2
The CompositeBundle-Content
declares the bundles
contained by this composite bundle. When you deploy a composite bundle, MDM Workbench will
create a .cba file that contains the constituent
bundles as .jar files.
In addition to exporting and importing packages, a composite bundle
must also import and export services. It does this with the CompositeBundle-ExportService
manifest header and also with the CompositeBundle-ImportService, as
seen in this example:
CompositeBundle-ExportService: com.ibm.mdm.z.api.MyInterface