Accès à des API tierces depuis une application Java EE

Par défaut, les applications Java™ EE n'ont pas accès aux API tierces disponibles dans Liberty. Pour qu'une application puisse accéder à ces API, elle doit être configurée à cet effet dans le fichier server.xml ou dans un fichier inclus par celui-ci.

Pourquoi et quand exécuter cette tâche

Dans l'exemple suivant, une application appelée Scholar doit avoir accès aux API tierces qui sont disponibles dans Liberty.

L'application utilise par ailleurs une bibliothèque commune appelée Alexandria. Cette bibliothèque se trouve dans le répertoire ${server.config.dir}/mylib/Alexandria.

Eviter les incidents : Il se peut que les API tierces ne soient plus compatibles après une mise à niveau. Pour plus d'informations, voir Prise en charge des ressources externes Liberty.

Procédure

  1. Configurez le chargement des classes de l'application afin que celle-ci puisse accéder aux API tierces.

    La valeur par défaut de l'attribut apiTypeVisibility de l'élément classloader est spec,ibm-api,api, où spec représente les API de spécification publiques disponibles pour la compilation et l'exécution, ibm-api représente les API disponibles dans Liberty et api représente les API publiques disponibles pour la compilation et l'exécution. Le fait d'inclure third-party dans l'attribut apiTypeVisibility de l'élément classloader rend les API tierces disponibles.

    Dans le fichier server.xml ou dans un fichier inclus par celui-ci, spécifiez la visibilité des types d'API en ajoutant le code suivant :
    <application id="scholar" name="Scholar" type="ear" location="scholar.ear">
      <classloader apiTypeVisibility="spec, ibm-api, third-party" commonLibraryRef="Alexandria" />
    </application>
  2. Facultatif : Si l'application utilise des bibliothèques communes, configurez-les de manière à leur appliquer le même réglage de visibilité des types d'API.
    Dans le fichier server.xml ou dans un fichier inclus par celui-ci, ajoutez le code suivant :
    <library id="Alexandria" apiTypeVisibility="spec, ibm-api, third-party">
      <fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
    </library>

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_classloader_3p_apis
Nom du fichier : twlp_classloader_3p_apis.html