Verbundbundles gruppieren Bundles in Datenverbünden, um konsistentes Verhalten sicherzustellen. Ein Verbundbundle enthält Bundles oder Referenzen zu Bundles außerhalb des Arbeitsbereichs oder der Zielplattform. Ein Verbundbundle stellt konsistentes Verhalten von einer Gruppe gemeinsam genutzter Bundles mit einer bestimmten Version sicher.
Ein Verbundbundlearchiv (CBA, Composite Bundle Archive) gruppiert gemeinsam genutzte Bundles in Datenverbünden. Ein CBA kann OSGi-Bundles oder Referenzbundles enthalten, die im internen Bundle-Repository gehostet werden. Erstellen Sie ein CBA, wenn Sie konsistentes Verhalten über eine Reihe gemeinsam genutzter Bundles hinweg sicherstellen möchten. Sie können das CBA dazu verwenden, die Bundlegruppe mit einer bestimmten Version mit einer Anwendung zu verbinden.
Ein CBA ist eine Archivdatei mit der Dateierweiterung .cba. Es enthält ein Verbundmanifest META-INF/COMPOSITEBUNDLE.MF, das das CBA definiert, und optional einige OSGi-Bundles, mit denen das Repository gefüllt wird. Die in einem CBA enthaltenen oder von einem CBA referenzierten Bundles sind mit den genauen Versionen definiert, im Gegensatz zu einem EBA, in dem Bundles mit Versionsbereichen definiert werden.
Ein Verbundbundle wird im internen Bundle-Repository der Laufzeit installiert. Wenn das CBA bereits OSGi-Bundles enthält, werden diese Bundles im Repository so installiert, als hätten Sie sie einzeln hochgeladen. Das CBA wird dem Bundle-Repository ebenfalls hinzugefügt. Wenn das Verbundbundlearchiv auf OSGi-Bundles verweist, müssen diese Bundles im internen Bundle-Repository vorhanden sein.
Nach der Installation eines CBA im internen Bundle-Repository stehen die Bundles allen Anwendungen zur Verfügung, die die Bundles bei Auflösung der Anwendung verwenden möchten. Wenn ein erforderliches Paket oder ein erforderlicher Service in derselben Version in einem Bundle und einem CBA verfügbar ist, wählt der Bereitstellungsprozess das Paket bzw. den Service aus dem CBA aus.
<module identifier>;<directives>;<attributes>
Eine Liste mit Serviceschnittstellennamen und optionalen Filtern, die Services identifizieren, die im Verbundbundle enthalten sind und für die Verwendung außerhalb des Verbundbundles exportiert werden können. Die Schnittstellen, die von einem exportierten Service implementiert werden, sind außerhalb des Verbundbundles verwendbar, wenn diese Schnittstellen außerhalb des Verbundbundles sichtbar sind.
Eine Liste mit Serviceschnittstellennamen und optionalen Filtern, die die Services identifizieren, die der Inhalt des Verbundbundles verwenden möchte und die sich außerhalb des Verbundbundles befinden. Zur Laufzeit muss mindestens ein solcher Service vorhanden sein.