Suppression de l'accès aux API tierces pour une application Java EE

Par défaut, les applications Java™ EE n'ont pas accès aux API tierces disponibles dans Liberty. Vous pouvez aussi retirer l'accès explicitement dans le fichier server.xml, ou dans un fichier inclus.

Pourquoi et quand exécuter cette tâche

Dans l'exemple c-dessous, une application appelée Scholar a été configurée précédemment pour accéder à des API tierces, comme décrit dans Accès à des API tierces depuis une application Java EE. Vous souhaitez à présent lui retirer cet accès et indiquer explicitement, dans la configuration du serveur, que cette application revient aux réglages par défaut en ce qui concerne les types d'API auxquels elle a accès.

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

  1. Configurez le chargement des classes de l'application afin que celle-ci ne puisse plus accéder aux API tierces.
    Dans le fichier server.xml, ou un fichier inclus, supprimez third-party de l'ensemble de valeurs incluses pour l'attribut apiTypeVisibility :
    <application id="scholar" name="Scholar" type="ear" location="scholar.ear">
      <classloader apiTypeVisibility="spec, ibm-api" 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">
      <fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
    </library>

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

Nom du fichier : twlp_classloader_no_ibm_apis.html