Configuration de l'utilisation des chargeurs de classe par une application

Vous pouvez configurer vos applications et modules Web de façon à utiliser leurs propres chargeurs de classe ou des chargeurs de classe différents ; vous pouvez également programmer le rechargement des classes lorsque les fichiers d'application ont été mis à jour. Les chargeurs de classe activent une application pour accéder aux référentiels de classes et de ressources disponibles.

Avant de commencer

Cette rubrique suppose que vous avez déjà déployé l'application ou le module sur un serveur.

La remarque suivante s'applique aux références de fichier xmi dans cette rubrique :
Configurations prises en charge: pour les fichiers de liaison et d'extension IBM® , l'extension de nom de fichier .xmi ou .xml est différente selon que vous utilisez une application ou un module antérieur àJava™ EE 5 ou une application ou un module Java EE 5 ou ultérieur. Un fichier d'extension ou de liaison IBM est nommé ibm-*-ext.xmi ou ibm-*-bnd.xmi* est le type de fichier d'extension ou de liaison tel que app, application, ejb-jarou web. Les conditions suivantes s'appliquent :
  • Pour une application ou un module qui utilise une version Java EE antérieure à la version 5, l'extension de fichier doit être .xmi.
  • Pour une application ou un module qui utilise Java EE 5 ou version ultérieure, l'extension de fichier doit être .xml. Si des fichiers .xmi sont inclus avec l'application ou le module, le produit ignore les fichiers .xmi.

Toutefois, un module Java EE 5 ou version ultérieure peut exister dans une application qui inclut des fichiers antérieurs àJava EE 5 et utilise l'extension de nom de fichier .xmi .

Les fichiers ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi et ibm-portlet-ext.xmi continuent d'utiliser les extensions de fichier .xmi.

A propos de cette tâche

Les chargeurs de classe déterminent si votre application et ses modules trouvent les ressources dont ils ont besoin pour s'exécuter efficacement. Vous pouvez décider que vos applications et modules Web utilisent leurs propres chargeurs de classe ou des chargeurs de classe parent.

Un chargeur de classe d'application regroupe des modules EJB (Enterprise JavaBeans ), des bibliothèques partagées, des fichiers RAR (Resource Adapter Archive) et des fichiers JAR (Java Archive) de dépendance associés à une application. Les fichiers JAR de dépendances sont des fichiers JAR qui contiennent du code pouvant être utilisé à la fois par des beans enterprise et des servlets.

Un chargeur de classe d'application est le parent du chargeur de classe WAR. Par défaut, un module Web dispose de son propre chargeur de classe pour charger le contenu du module Web. La valeur de la règle d'un chargeur de classe WAR d'un chargeur de classe d'application indique si le chargeur de classe WAR ou celui de la classe d'application est utilisé pour charger le contenu du module Web.

Vous pouvez également décider si les classes sont rechargées lorsque les fichiers de l'application sont mis à jour. Pour les modules EJB ou tous les modules non-Web, le rechargement de la classe amène l'exécution du serveur d'applications à arrêter et à démarrer les applications pour qu'elles rechargent des classes d'application. Pour les modules Web tels que les servlets et les fichiers JSP ( JavaServer Pages), un conteneur Web recharge un module Web uniquement lorsque l'extension IBM reloadingEnabled du fichier ibm-web-ext.xmi est définie sur true.

Pour configurer l'utilisation des chargeurs de classe par votre application et les modules Web, utilisez la page Chargement de classes et détection des mises à jour de la console d'administration.

Attention: Si une application est en cours d'exécution, la modification d'un paramètre d'application entraîne le redémarrage de l'application. Sur les serveurs autonomes, l'application est redémarrée une fois les modifications sauvegardées. Sur les produits utilisant des serveurs multiples, l'application redémarre une fois les modifications sauvegardées et les fichiers sont synchronisés sur le noeud où l'application est installée. Pour contrôler la survenue de la synchronisation sur des produits utilisant plusieurs serveurs, désélectionnez Synchroniser les modifications avec les noeuds sur la page Préférences de la console.

Procédure

  1. Cliquez sur Applications > Types d'application > WebSphere > nom_application > Chargement de classes et détection de mises à jour pour accéder à la page Chargement de classes et détection de mises à jour .
  2. Indiquez s'il convient ou non de recharger les classes d'application lors de la mise à jour de l'application ou de ses fichiers.

    Par défaut, le rechargement de classe n'est pas activé. Choisissez Remplacer les paramètres de rechargement de classe des modules Web et EJB pour recharger les classes d'application. Vous pouvez spécifier différentes valeurs pour les modules EJB et Web, tels que des servlets et des fichiers JSP.

  3. Indiquez le nombre de secondes nécessaires à l'analyse du système de fichiers de l'application pour la recherche des fichiers mis à jour.

    La valeur spécifiée pour Intervalle d'interrogation des fichiers mis à jour ne prend effet que si le rechargement des classes est activé. La valeur par défaut correspond à celle de l'attribut de l'intervalle de rechargement dans le fichier d'extension IBM META-INF/ibm-application-ext.xmi) de l'application d'entreprise (fichier EAR). Vous pouvez spécifier différentes valeurs pour les modules EJB et Web, tels que des servlets et des fichiers JSP.

    Pour activer le rechargement, spécifiez un entier supérieur à zéro (par exemple, 1 à 2147483647).

    Pour désactiver le rechargement, spécifiez zéro (0).

  4. Indiquez l'ordre du chargeur de classe de l'application.

    Le chargeur de classes indique si le chargeur de classe doit d'abord effectuer la recherche dans le chargeur de classe parent ou dans le chargeur de classe de l'application afin de charger une classe. Par défaut, la recherche s'effectue d'abord dans le chargeur de classe parent, puis dans le chargeur de classe d'application pour charger une classe.

    Sélectionnez l'une des valeurs suivantes pour Ordre du chargeur de classes :

    Option Descriptif
    Classes chargées en premier avec un chargeur de classes parent Indique que le chargeur de classe doit d'abord effectuer la recherche dans le chargeur de classe parent pour charger une classe. Cette valeur est la norme pour les chargeurs de classe Development Kit et WebSphere® Application Server .
    Classes chargées en premier avec un chargeur de classe local (dernier parent) Indique que le chargeur de classe doit d'abord effectuer la recherche dans le chargeur de classe de l'application pour charger une classe. En spécifiant Classes loaded with local class loader first (parent last), votre application peut remplacer les classes contenues dans le chargeur de classe parent.
    Attention: la spécification de la valeur Classes loaded with local class loader first (parent last) peut générer des messages d'exception LinkageErrors ou ClassCastsi vous avez utilisé à la fois des classes remplacées et des classes non remplacées.
  5. Indiquez si un seul ou plusieurs chargeurs de classe doivent être utilisés pour charger des fichiers WAR de votre application.

    Par défaut, les modules Web ont leur propre chargeur de classe WAR pour charger le contenu des répertoires WEB-INF/classes et WEB-INF/lib. La valeur par défaut du chargeur de classe WAR est Class loader for each WAR file in application, qui utilise un chargeur de classe distinct pour charger chaque fichier WAR. Si vous définissez la valeur sur Single class loader for application , le chargeur de classe de l'application charge le contenu du module Web ainsi que les modules EJB, les bibliothèques partagées, les fichiers RAR et les fichiers JAR de dépendances associés à l'application. Le chargeur de classe d'application est le parent du chargeur de classe WAR.

    Sélectionnez l'une des valeurs suivantes pour la règle du chargeur de classe WAR :

    Option Descriptif
    Chargeur de classes pour chaque fichier WAR de l'application Utilise un chargeur de classe différent pour chaque fichier WAR.
    Chargeur de classes unique pour l'application Utilise un chargeur de classe unique pour charger tous les fichiers WAR dans votre application.
  6. Cliquez sur OK.

Résultats

La configuration de l'application ou du module est modifiée. L'application ou le module Web autonome est redémarré afin que les modifications prennent effet.

Etape suivante

Si l'application ou le module sont déployés dans un cluster et que vous avez terminé les modifications de configuration, cliquez sur Déployer la mise à jour dans la page Applications d'entreprise pour propager la configuration modifiée sur tous les membres du cluster dans lesquels l'application ou le module sont déployés. L'option Déployer la mise à jour met à jour de façon séquentielle la configuration sur tous les noeuds contenant des membres du cluster.

Sauvegardez les modifications de la configuration d'administration.

Dans le cas de produits utilisant plusieurs serveurs, les fichiers binaires de l'application sont transférés sur les noeuds lorsque les modifications de configuration apportées au gestionnaire de déploiement sont synchronisées avec les configurations des différents noeuds sur lesquels l'application s'exécute.