Configuration de bibliothèques pour des applications OSGi

Chaque application OSGi peut accéder à un ensemble d'API mises à disposition, ainsi qu'à ses propres classes internes. Des bibliothèques partagées peuvent également être configurées pour fournir un accès aux packages supplémentaires qu'elles contiennent.

Pourquoi et quand exécuter cette tâche

Chaque application OSGi possède son propre ensemble de bundles OSGi dans un serveur Liberty en cours d'exécution. Chaque bundle OSGi indique les packages dont il a besoin ainsi que les packages qu'il fournit et qui sont destinés à être utilisés par d'autres bundles OSGi. Les bundles d'une application OSGi peuvent accéder à n'importe quel package qui est fourni par d'autres bundles au sein de la même application OSGi. De plus, les bundles OSGi d'une application OSGi peuvent accéder aux packages d'API fournis par le serveur Liberty. Des bibliothèques partagées peuvent également être utilisées pour fournir des packages d'API destinés à être utilisés par des applications OSGi.

Les bibliothèques peuvent être partagées entre plusieurs applications OSGi. Toutes les applications, y compris les applications Java EE, peuvent utiliser les mêmes classes lors de l'exécution que celles qui sont fournies par les bibliothèques partagées.

Procédure

  1. Créez un répertoire mylib/osgi dans le répertoire servers/defaultServer sous le répertoire ${WLP_USER_DIR}. Exemple : wlp/usr/servers/defaultServer/mylib/osgi.
  2. Copiez les fichiers osgi-lib.jar et commons-lang.jar dans le nouveau dossier.
  3. Configurez la bibliothèque partagée pour l'application de sorte qu'elle soit chargée. Dans le fichier server.xml ou dans un fichier inclus par celui-ci, définissez la bibliothèque en ajoutant le code suivant :
    <library id="mylib">
        <fileset dir="${server.config.dir}/mylib/osgi" includes="*.jar" scanInterval="5s">
    </library>
    Remarque : L'élément library admet également un attribut filesetRef avec une liste d'ID d'éléments fileset séparés par des virgules.
  4. Référencez la bibliothèque en tant que bibliothèque OSGi de sorte que les applications OSGi puissent accéder aux packages fournis par cette bibliothèque et partagez une copie unique de cette dernière. Dans le fichier server.xml ou dans un fichier inclus par celui-ci, ajoutez le code suivant :
    <osgiLibrary libraryRef="myLib"/>
  5. Facultatif : Configurez la liste de packages afin de les rendre accessibles par des applications OSGi. Les applications OSGi peuvent accéder aux packages qui sont contenus dans la bibliothèque partagée lorsque celle-ci est configurée à l'aide de l'élément osgiLibrary. Les packages peuvent également être répertoriés afin de permettre un plus grand contrôle des packages qui sont accessibles par des applications OSGi. La syntaxe de package utilise la syntaxe d'en-tête OSGi Export-Package pour définir chaque package. Pour répertorier les packages dans le fichier server.xml ou un fichier inclus, ajoutez le code suivant :
    <osgiLibrary libraryRef="myLib">  
        <package>org.example.osgi.lib.pkg1; version=1.0</package>  
        <package>org.example.osgi.lib.pkg2; version=1.1</package>
    </osgiLibrary>
    Remarque : Lorsqu'aucun élément de package n'est utilisé, la bibliothèque fait l'objet d'une analyse afin de rechercher les packages qu'elle fournit. Chaque package détecté prend la version par défaut 0.0.0.

Icône indiquant le type de rubrique Rubrique Tâche



Icône d'horodatage Dernière mise à jour: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_admin_osgiappl
Nom du fichier : twlp_admin_osgiappl.html