Un bundle composite regroupe plusieurs bundles classiques en un agrégat qui garantit un comportement cohérent. Il contient des bundles ou des références à des bundles hors de l'espace de travail ou de la plateforme cible. Il assure un comportement cohérent à partir d'un ensemble de bundles partagés dans une version spécifique.
Une archive de bundle composite (CBA) regroupe des bundles partagés en agrégats. Elle peut contenir des bundles OSGi ou référencer des bundles qui sont hébergés dans le référentiel de bundles interne. Créez une archive de bundle composite si vous voulez garantir un comportement cohérent dans un ensemble de bundles partagés. Vous pouvez utiliser l'archive de bundle composite pour connecter cet ensemble de bundles, à une version spécifique, à une application.
Une archive de bundle composite est un fichier d'archive dont l'extension de fichier est .cba. Elle contient un manifeste de composite META-INF/COMPOSITEBUNDLE.MF, qui la définit, et en option, des bundles OSGi avec lesquels alimenter le référentiel. Les bundles qu'une archive de bundle composite contient ou référence sont définis avec des versions exactes, contrairement à un fichier EBA, pour lesquels les bundles sont définis avec des plages de versions.
Un bundle composite est installé dans le référentiel de bundles interne de l'environnement d'exécution. Si l'archive de bundle composite contient des bundles OSGi, ces bundles sont installés dans le référentiel comme s'ils avaient été téléchargés individuellement. L'archive de bundle composite est également ajoutée au référentiel de bundles. Si elle référence des bundles OSGi, ceux-ci doivent être présents dans le référentiel de bundles interne.
Après l'installation d'une archive de bundle composite dans le référentiel de bundles interne, ses bundles sont disponibles pour toutes les applications qui veulent utiliser les bundles lorsque l'application est résolue. Si un package ou un service requis est disponible avec la même version depuis un bundle et une archive de bundle composite, le processus de mise à disposition sélectionne le module ou le service de l'archive de bundle composite.
<identificateur de module>;<directives>;<attributs>
Liste de noms d'interface de service et de filtres facultatifs qui identifient les services présents dans le bundle composite et peuvent être exportés pour une utilisation en dehors du bundle composite. Les interfaces implémentées par un service exporté sont utilisables en dehors du bundle composite si elles sont visibles en dehors du bundle composite.
Liste de noms d'interface de service et de filtres facultatifs qui identifient les services que le bundle composite souhaite utiliser hors du bundle composite. Au moins un de ces services doit exister lors de l'exécution.