Modification du mode de chargeur de classe WAR à l'aide de l'outil de scriptage wsadmin

Vous pouvez utiliser le scriptage et l'outil wsadmin pour modifier le mode de chargeur de classe WAR pour les applications.

Avant de commencer

Avant de commencer cette tâche, assurez-vous que l'outil wsadmin est démarré et actif. Pour plus d'informations, voir la rubrique Démarrage du client de scriptage wsadmin à l'aide de l'outil de scriptage wsadmin.

Pourquoi et quand exécuter cette tâche

Avertissement : Si une application est en cours d'exécution, la modification de ses paramètres entraîne son redémarrage. 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.

Pour modifier le mode de chargeur de classe WAR d'une application, procédez comme suit :

Procédure

  1. Définissez une référence au document deployment.xml. Exemple :
    • En langage Jacl :
      set deployments [$AdminConfig getid /Deployment:mon_application/]

      Exemple de sortie :

      nom_application(cells/cell_name/applications/nom_application.ear/deployments/
      nom_application|deployment.xml#Deployment_1276887608391)
    • En langage Jython :
      deployments = AdminConfig.getid('/Deployment:mon_application/')
    Tableau 1. Valeurs de configuration de déploiement. Le tableau suivant décrit les éléments de la commande getid.
    Elément Définition
    set est une commande Jacl
    deployments est un nom de variable
    $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    AdminConfig est un objet représentant la configuration WebSphere Application Server
    getid est une commande AdminConfig
    Deployment est un attribut
    mon_application est une application du répertoire racine_profil/config/cells/nom_cellule/applications
  2. Définissez une référence à l'attribut deployedObject dans le document deployment.xml et paramétrez-la sur la variable deployedObject. Exemple :
    • En langage Jacl :
      set deploymentObject [$AdminConfig showAttribute $deployments deployedObject]

      Exemple de sortie :

      (cells/nom_cellule/applications/nom_application.ear/deployments/
      nom_application|deployment.xml#ApplicationDeployment_1276887608391)
    • En langage Jython :
      deploymentObject = AdminConfig.showAttribute(deployments, 'deployedObject')
    Tableau 2. Valeurs de configuration de déploiement. Le tableau suivant décrit les éléments de cette commande.
    Elément Définition
    set est une commande Jacl
    deploymentObject est un nom de variable
    $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    AdminConfig est un objet représentant la configuration WebSphere Application Server
    showAttribute est une commande AdminConfig
    deployments est une variable à laquelle le document deployment.xml est affecté
    deployedObject est un attribut du document deployment.xml
  3. Etablissez la liste des modules pour l'attribut deployedObject et définissez la liste sur la variable myModules. Exemple :
    • En langage Jacl :
      set myModules [lindex [$AdminConfig showAttribute $deploymentObject modules] 0]

      Exemple de sortie :

      (cells/nom_cellule/applications/nom_application.ear/deployments/
      nom_application|deployment.xml#WebModuleDeployment_1276887608391) 
      (cells/nom_cellule/applications/nom_application.ear/deployments/
      nom_application|deployment.xml#EJBModuleDeployment_1276887608391)
    • En langage Jython :
      myModules = AdminConfig.showAttribute(deploymentObject, 'modules')
      myModules = myModules[1:len(myModules)-1].split(" ")
      print myModules

      Exemple de sortie :

      ['(cells/cell_name/applications/application_name.ear/deployments/
      application_name|deployment.xml#WebModuleDeployment_1276887608391)', 
      '(cells/nom_cellule/applications/nom_application.ear/deployments/
      nom_application|deployment.xml#EJBModuleDeployment_1276887608391)']
    Tableau 3. Valeurs de configuration de déploiement. Le tableau suivant décrit les éléments de cette commande.
    Elément Définition
    set est une commande Jacl
    myModules est un nom de variable
    $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    AdminConfig est un objet représentant la configuration WebSphere Application Server
    showAttribute est une commande AdminConfig
    deployedObject est un attribut du document deployment.xml
    modules est un attribut du document deployment.xml
  4. Recherchez le module web et définissez le mode pour la chargeur de classe. Exemple :
    • En langage Jacl :
      foreach module $myModules {
           if {[regexp WebModuleDeployment $module] == 1} {
              $AdminConfig modify $module {{classloaderMode mode}}}}
    • Avec Jython
      for module in myModules:
           if (module.find('WebModuleDeployment')!= -1):
              AdminConfig.modify(module, [['classloaderMode', 'mode']])
    Tableau 4. Valeurs de configuration de déploiement. Le tableau suivant décrit les éléments de cette commande.
    Elément Définition
    foreach est une commande Jacl
    for est une commande Jython
    module est un objet en cours de modification
    $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    myModules est un nom de variable
    regexp est une fonction utilisant une expression régulière qui permet d'effectuer une recherche dans les commandes précédentes
    module.find est une fonction utilisant une expression régulière qui permet d'effectuer une recherche dans les commandes précédentes
    AdminConfig est un objet représentant la configuration WebSphere Application Server
    modify est une commande AdminConfig
    classloaderMode est un attribut du document deployment.xml
    mode est la valeur de mode de chargeur de classe que vous souhaitez définir pour le module WAR. La valeur de mode est soit PARENT_FIRST, soit PARENT_LAST. Pour plus d'informations, voir la documentation sur les chargeurs de classe.
  5. Sauvegardez la configuration, par exemple :
    • En langage Jacl :
      $AdminConfig save
    • En langage Jython :
      AdminConfig.save()
  6. A l'aide de la commande showall, vérifiez les modifications apportées à la valeur d'attribut. Exemple :
    • En langage Jacl :
      $AdminConfig showall $module
    • En langage Jython :
      AdminConfig.showall(module)

      Exemple de sortie :

      {applicationDeployment (cells/nom_cellule/applications/nom_application.ear/deployments/
      nom_application|deployment.xml#ApplicationDeployment_1276887608391)}
      
      {classloader (cells/nom_cellule/applications/nom_application.ear/deployments/
      nom_application|deployment.xml#Classloader_1276887608392)}
      {classloaderMode mode}
      {configs {}}
      {deploymentId 1}
      {startingWeight 10000}
      {targetMappings {(cells/nom_cellule/applications/nom_applicationear/deployments/
      nom_application|deployment.xml#DeploymentTargetMapping_1276887608392)}}
      {uri nom_fichier_WAR.war}

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



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