Développement d'un bundle composite
Un bundle composite se compose de bundles partagés regroupés en agrégats. Il fournit un ou plusieurs packages à des versions spécifiques pour une application OSGi. Vous pouvez également étendre une application déployée en ajoutant un ou plusieurs bundles composites à l'unité de composition pour l'application. Vous pouvez utiliser les outils d'application OSGi pour développer un bundle composite.
A propos de cette tâche
Lorsque vous souhaitez vérifier que le comportement d'un ensemble de bundles partagés est cohérent dans une application OSGi, utilisez un bundle composite pour mettre cet ensemble de bundles à la disposition de l'application. Si un service ou un package requis est disponible avec la même version depuis un bundle et un bundle composite, le processus de mise à disposition sélectionne le package ou le service dans le bundle composite.
Lorsque vous souhaitez étendre une application de niveau métier déployée qui contient une application OSGi et que vous ne souhaitez pas arrêter l'application ou modifier l'actif EBA sous-jacent, vous ajoutez un ou plusieurs bundles composites à l'unité de composition.
Un bundle composite est conditionné en tant que fichier CBA (composite bundle archive). Ce fichier est un fichier d'archive compressé ayant l'extension .cba. Si le bundle composite fait partie d'une application OSGi d'entreprise, le fichier CBA peut se trouver directement dans le fichier EBA (enterprise bundle archive) pour l'application ou être récupéré par référence du référentiel de bundles interne ou d'un référentiel externe pouvant traiter des bundles composites. Un bundle composite peut directement contenir des bundles dans son fichier CBA. Il peut également inclure par référence des bundles hébergés avec le fichier CBA dans le même fichier EBA ou des bundles installés dans le même référentiel de bundles.
Un bundle composite est décrit dans un fichier manifeste de bundle composite, META-INF/COMPOSITEBUNDLE.MF. Le fichier de manifeste répertorie les bundles OSGi se trouvant directement dans le bundle composite et les bundles de référence hébergés avec le bundle composite dans le même fichier EBA ou dans le même référentiel de bundles.
Si vous souhaitez utiliser le bundle composite pour étendre une application déployée, vous devez installer le fichier CBA dans le référentiel de bundles interne ou dans un référentiel externe pouvant traiter des bundles composites. Si vous installez un bundle composite dans un référentiel de bundles et que le bundle composite inclut des bundles par référence, vous devez vous assurer que les bundles référencés sont également disponibles dans le même référentiel. Si vous utilisez le référentiel de bundles interne et que le bundle composite contient directement des bundles, ces derniers ne sont pas répertoriés séparément et sont disponibles uniquement en tant que partie du bundle composite. Pour plus d'informations, voir Bundles composites.
Les instructions de conception d'application OSGi version 8.5 fournissent une prise en charge graphique pour la création et le conditionnement de bundles composites. Vous pouvez également utiliser d'autres outils.
Procédure
Etape suivante
- Si vous avez configuré une application OSGi d'entreprise de sorte qu'elle utilise le bundle composite, vous pouvez maintenant importer l'application en tant qu'actif. Voir Déploiement d'une application OSGi en tant qu'application de niveau métier.
- Si vous souhaitez utiliser votre bundle composite pour étendre une unité de composition, voir Ajout ou suppression d'extensions pour une unité de composition OSGi.