Modus des WAR-Klassenladeprogramms mit wsadmin-Scripting ändern

Sie können Scripting und das Tool "wsadmin" verwenden, um den Modus des WAR-Klassenladeprogramms für Anwendungen zu ändern.

Vorbereitende Schritte

Damit diese Task gestartet werden kann, muss das Tool "wsadmin" aktiv sein. Weitere Informationen finden Sie im Artikel wsadmin-Scripting-Client mit wsadmin-Scripting starten.

Informationen zu diesem Vorgang

Achtung: Wenn eine Anwendung aktiv ist, bewirkt die Änderung einer Anwendungseinstellung einen Neustart der Anwendung. In eigenständigen Servern wird die Anwendung nach dem Speichern der Änderung erneut gestartet. In Mehrserverprodukten wird die Anwendung erneut gestartet, wenn Sie die Änderung speichern und die Dateien auf dem Knoten, auf dem die Anwendung installiert ist, synchronisieren. Um zu steuern, wann die Synchronisation in Mehrserverprodukten stattfindet, wählen Sie auf der Seite mit den Konsoleneinstellungen die Option Änderungen mit Knoten synchronisieren ab.

Führen Sie die folgenden Schritte aus, um den Modus des WAR-Klassenladeprogramms für eine Anwendung zu ändern:

Vorgehensweise

  1. Definieren Sie eine Referenz auf das Dokument deployment.xml. Beispiel:
    • Mit Jacl:
      set deployments [$AdminConfig getid /Deployment:my_application/]

      Beispielausgabe:

      Anwendungsname(cells/Zellenname/applications/Anwendungsname.ear/deployments/
      Anwendungsname|deployment.xml#Deployment_1276887608391)
    • Mit Jython:
      deployments = AdminConfig.getid('/Deployment:my_application/')
    Tabelle 1. Konfigurationswerte für die Implementierung. In der folgenden Tabelle sind die Elemente des Befehls getid beschrieben.
    Element Definition
    set Jacl-Befehl
    deployments Variablenname
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
    AdminConfig Objekt, das die Konfiguration von WebSphere Application Server repräsentiert
    getid AdminConfig-Befehl
    Deployment Attribut
    my_application Anwendung im Verzeichnis Profilstammverzeichnis/config/cells/Zellenname/applications/
  2. Definieren Sie eine Referenz auf das Attribut "deployedObject" im Dokument deployment.xml, und setzen Sie sie auf die Variable deployedObject. Beispiel:
    • Mit Jacl:
      set deploymentObject [$AdminConfig showAttribute $deployments deployedObject]

      Beispielausgabe:

      (cells/Zellenname/applications/Anwendungsname.ear/deployments/
      Anwendungsname|deployment.xml#ApplicationDeployment_1276887608391)
    • Mit Jython:
      deploymentObject = AdminConfig.showAttribute(deployments, 'deployedObject')
    Tabelle 2. Konfigurationswerte für die Implementierung. In der folgenden Tabelle sind die Elemente dieses Befehls beschrieben.
    Element Definition
    set Jacl-Befehl
    deploymentObject Variablenname
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
    AdminConfig Objekt, das die Konfiguration von WebSphere Application Server repräsentiert
    showAttribute AdminConfig-Befehl
    deployments Variable, der das Dokument deployment.xml zugeordnet wird
    deployedObject Attribut im Dokument deployment.xml
  3. Listet die Module für das Attribut "deployedObject" auf und setzt die Liste auf die Variable myModules. Beispiel:
    • Mit Jacl:
      set myModules [lindex [$AdminConfig showAttribute $deploymentObject modules] 0]

      Beispielausgabe:

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

      Beispielausgabe:

      ['(cells/Zellenname/applications/Anwendungsname.ear/deployments/
      Anwendungsname|deployment.xml#WebModuleDeployment_1276887608391)',
      '(cells/Zellenname/applications/Anwendungsname.ear/deployments/
      Anwendungsname|deployment.xml#EJBModuleDeployment_1276887608391)']
    Tabelle 3. Konfigurationswerte für die Implementierung. In der folgenden Tabelle sind die Elemente dieses Befehls beschrieben.
    Element Definition
    set Jacl-Befehl
    myModules Variablenname
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
    AdminConfig Objekt, das die Konfiguration von WebSphere Application Server repräsentiert
    showAttribute AdminConfig-Befehl
    deployedObject Attribut im Dokument deployment.xml
    modules Attribut im Dokument deployment.xml
  4. Suchen Sie das Webmodul, und legen Sie den Modus für das Klassenladeprogramm fest. Beispiel:
    • Mit Jacl:
      foreach module $myModules {
           if {[regexp WebModuleDeployment $module] == 1} {
              $AdminConfig modify $module {{classloaderMode Modus}}}}
    • Mit Jython:
      for module in myModules:
           if (module.find('WebModuleDeployment')!= -1):
              AdminConfig.modify(module, [['classloaderMode', 'Modus']])
    Tabelle 4. Konfigurationswerte für die Implementierung. In der folgenden Tabelle sind die Elemente dieses Befehls beschrieben.
    Element Definition
    foreach Jacl-Befehl
    for Jython-Befehl
    module Objekt, das geändert wird
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
    myModules Variablenname
    regexp Regulärer Ausdruck, der verwendet wird, um in den vorherigen Befehlen zu suchen
    module.find Regulärer Ausdruck, der verwendet wird, um in den vorherigen Befehlen zu suchen
    AdminConfig Objekt, das die Konfiguration von WebSphere Application Server repräsentiert
    modify AdminConfig-Befehl
    classloaderMode Attribut im Dokument deployment.xml
    Modus Wert für den Klassenladeprogrammmodus, den Sie für das WAR-Modul definieren möchten. Die gültigen Moduswerte sind PARENT_FIRST und PARENT_LAST. Weitere Informationen finden Sie in der Dokumentation zu Klassenladeprogrammen.
  5. Speichern Sie die Konfiguration.
    • Mit Jacl:
      $AdminConfig save
    • Mit Jython:
      AdminConfig.save()
  6. Überprüfen Sie die Änderungen, die Sie am Attributwert vorgenommen haben, mit dem Befehl showall. Beispiel:
    • Mit Jacl:
      $AdminConfig showall $Modul
    • Mit Jython:
      AdminConfig.showall(Modul)

      Beispielausgabe:

      {applicationDeployment (cells/Zellenname/applications/Anwendungsname.ear/deployments/
      Anwendungsname|deployment.xml#ApplicationDeployment_1276887608391)}
      
      {classloader (cells/Zellenname/applications/Anwendungsname.ear/deployments/
      Anwendungsname|deployment.xml#Classloader_1276887608392)}
      {classloaderMode Modus}
      {configs {}}
      {deploymentId 1}
      {startingWeight 10000}
      {targetMappings {(cells/Zellenname/applications/Anwendungsnameear/deployments/
      Anwendungsname|deployment.xml#DeploymentTargetMapping_1276887608392)}}
      {uri Name_der_WAR-Datei.war}

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_warclmode
Dateiname:txml_warclmode.html