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.
Procédure
- 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>
- 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>