[AIX][Linux][Windows][IBM i][z/OS]

Implementierung während des Betriebs und dynamisches Neuladen

Sie können Anwendungen und deren Module ändern, ohne den Server stoppen und neu starten zu müssen. Diese Art von Änderungen wird als Implementierung während des Betriebs und dynamisches Neuladen bezeichnet.

Vorbereitende Schritte

Die folgende Anmerkung gilt für die Referenzinformationen zu XMI-Dateien in diesem Artikel:
Unterstützte Konfigurationen Unterstützte Konfigurationen: Bei IBM® Erweiterungs- und Bindungsdateien weicht der Name der XMI- oder XML-Datei ab, je nachdem, ob Sie eine Java™ EE-Anwendung bzw. ein Java EE-Modul vor oder nach Version 5 verwenden. Eine IBM Erweiterungs- bzw. Bindungsdatei heißt "ibm-*-ext.xmi" bzw. "ibm-*-bnd.xmi". Das Platzhalterzeichen "*" steht für den Typ der Erweiterungs- oder Bindungsdatei, z. B. "app", "application", "ejb-jar" oder "web". Es gelten die folgenden Bedingungen:
  • Für eine Anwendung oder ein Modul, die bzw. das Java EE vor Version 5 verwendet, muss die Dateierweiterung ".xmi" sein.
  • Für eine Anwendung oder ein Modul, die bzw. das Java EE ab Version 5 verwendet, muss die Dateierweiterung ".xml" sein. Wenn Dateien mit der Erweiterung ".xmi" in der Anwendung oder im Modul enthalten sind, werden diese vom Produkt ignoriert.

Ein Modul von Java EE Version 5 oder einer höheren Version kann jedoch in einer Anwendung, die Dateien einer älteren Java EE-Version als Version 5 enthält, koexistieren.

Die Dateien ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi und ibm-portlet-ext.xmi können die Dateierweiterung ".xmi" weiterhin verwenden.

sptcfg
[Solaris][HP-UX]Einschränkung: Die Funktionen für Implementierung während des Betriebs und dynamisches Neuladen werden nicht unterstützt, wenn das Produkt unter diesen Betriebssystemen ausgeführt wird. Die JAR-Dateien im zugeordneten Java Development Kit (JDK) werden in den Arbeitsspeicher eingeblendet. Werden diese JAR-Dateien von den Funktionen für Implementierung während des Betriebs und dynamisches Neuladen aktualisiert, wenn sie von der Java Virtual Machine verwendet werden, werden sie inkonsistent, was den Absturz des Anwendungsservers zur Folge hat. Wenn Sie Änderungen an einer Anwendung in diesen Betriebssystemen vornehmen, verwenden Sie nicht die Funktionen für Implementierung während des Betriebs und dynamisches Neuladen. Starten Sie stattdessen die Anwendung erneut, damit die Änderungen wirksam werden.

Dieser Artikel setzt voraus, dass Ihre Anwendungsdateien in einem Server implementiert sind und Sie die Dateien aktualisieren möchten.

Lesen Sie den Artikel Aktualisierung von Unternehmensanwendungsdateien, und stellen Sie fest, ob eine Implementierung während des Betriebs (Hot Deployment) die richtige Methode für die Aktualisierung Ihrer Anwendungsdateien ist. Andere Methoden sind einfacher. Hot Deployment ist nur für erfahrene Benutzer geeignet.

Verwenden Sie Hot Deployment nicht, wenn Sie Ihre Anwendung exportieren, ein Plug-in auf der Basis der Anwendungskonfiguraiton oder künftig weitere Verwaltungsaktionen für die Anwendung ausführen möchten. Änderungen, die Sie an den Anwendungsdateien über Hot Deployment vornehmen, werden von der Administrationskonsole und den wasadmin-Funktionen für die Anwendungsverwaltung nicht erkannt. Diese Funktionen erkennen nur die Anwendungsdateien, die Verwaltungsprogramme wie die Konsole oder "wsadmin" während der Anwendungsinstallation, der Anwendungsaktualisierung oder über andere Verwaltungsfunktionen anbieten. Die Funtionen für die Anwendungsverwaltung erkennen keine Dateien, die durch Hot Deployment geändert werden.

Wichtig: Verwenden für die Aktualisierung von Komponenten in einer Produktionsumgebung eingesetzten Deployment-Manager-Zelle kein Hot-Deployment. Das Hot-Deployment eignet sich für Entwicklungs- und Testumgebungen, aber aufgrund der damit verbundenen Risiken nicht für Produktionsumgebungen. Mit Hot-Deployment aktualisierte Komponenten können bei einer vollständigen oder Teilresynchronisation gelöscht werden. Außerdem können bei der Ausführung des Befehls restoreconfig Änderungen überschrieben werden, die an erweiterten Anwendungsdateien vorgenommen wurden. Außerdem werden solche Komponenten von einer Migration auf eine andere Version von WebSphere Application Server ausgeschlossen. Wenn Sie einer Unternehmensanwendung neue Komponenten oder Module hinzufügen möchten, müssen Sie die EAR-Datei der Anwendung mit den gewünschten neuen Komponenten und Modulen assemblieren und anschließend die EAR-Datei erneut implementieren.

Informationen zu diesem Vorgang

Hot-Deployment ist ein Prozess, bei dem einem aktiven Server neue Komponenten (z. B. WAR-Dateien, EJB-JAR-Dateien, Enterprise Java Beans, Servlets und JSP-Dateien) hinzugefügt werden, ohne dass der Anwendungsserver hierbei gestoppt und neu gestartet werden muss.

Dynamisches Neuladen bietet die Möglichkeit, eine bestehende Komponente zu ändern, ohne den Server neu starten zu müssen, damit diese Änderung wirksam wird. Das dynamische Neuladen umfasst folgende Aktionen:

  • Änderungen an der Implementierung einer Anwendungskomponente, z. B. eines Servlet
  • Änderungen an den Einstellungen der Anwendung, wie z. B. Ändern des Implementierungsdeskriptors für ein Webmodul

Im Gegensatz zu den Änderungen, die an einer implementierten Anwendung vorgenommen werden (siehe Artikel Unternehmensanwendungsdateien aktualisieren), wird für Änderungen, die durch Hot Deployment oder dynamisches Neuladen vorgenommen werden, weder die Administrationskonsole noch ein wsadmin-Scripting-Befehl verwendet. Sie müssen die Anwendungsdateien in dem Server, in dem die Anwendung implementiert ist, direkt ändern.

Wenn Sie zu aktualisierende Anwendung in einem Server implementiert ist, dessen Richtlinie für Anwendungsklassenlader auf Einer gesetzt ist, können Sie die Anwendung möglicherweise nicht dynamisch erneut laden. Nach der Aktualisierung der Anwendung müssen Sie zumindest den Server erneut starten.

Vorgehensweise

  1. Suchen Sie die erweiterten Anwendungsdateien.

    Die Anwendungsdateien sind in dem Verzeichnis gespeichert, das Sie während der Installation der Anwendung angegeben haben. Sollten Sie kein eigenes Zielverzeichnis angegeben haben, finden Sie die Dateien im Standardzielverzeichnis Stammverzeichnis_des_Anwendungsservers/installedApps/Zellenname. Ihre EAR-Datei, ${APP_INSTALL_ROOT}/Zellenname/Anwendungsname.ear, zeigt auf das Zielverzeichnis. Die Variable ${APP_INSTALL_ROOT} ist in der Datei variables.xml für den Knoten definiert.

    Es ist wichtig, die Position der entpackten Anwendungsdateien zu ermitteln, weil ein WebSphere Application Server bei der Installation von Anwendungen Teile der EAR-Datei in das Dateisystems des Computers extrahiert, der die Anwendung ausführen soll. Wenn der Server Ihre Anwendung ausführt, sucht er nach diesen entpackten Dateien. Wenn Sie die entpackten Anwendungsdateien nicht finden können, sehen Sie sich in der Datei deployment.xml für die Anwendung das Attribut binariesURL an. Das Attribut bezeichnet die Position, an der die Laufzeit nach den Anwendungsdateien sucht.

    In den folgenden Informationen zum Hot-Deployment und zum dynamischen Neuladen steht Stammverzeichnis_der_Anwendung für das Stammverzeichnis der entpackten Anwendungsdateien.

  2. Suchen Sie die Metadatendateien der Anwendung. Die Metadatendateien enthalten die Implementierungsdeskriptoren (web.xml, application.xml, ejb-jar.xml usw.), die Bindungsdateien (ibm-web-bnd.xmi, ibm-app-bnd.xmi usw.) und die Erweiterungsdateien (ibm-web-ext.xmi, ibm-app-ext.xmi usw.).

    XML-Dateien mit den Metadaten für eine Anwendung können aus einem von zwei Verzeichnissen geladen werden. Die Metadatendateien können aus demselben Verzeichnis wie die Binärdateien der Anwendung (z. B. Stammverzeichnis_der_Anwendung/META-INF) oder aus der WebSphere-Konfigurationsbaumstruktur ${STAMMVERZEICHNIS_DER_KONFIGURATION}/cells/Zellenname/applications/Name_der_Anwendungs-EAR/deployments/Anwendungsname/ geladen werden. Der Wert, der bei der Installation angegebenen Option useMetadataFromBinary steuert, welches Verzeichnis verwendet wird. Ist die Option angegeben, werden die Metadatendateien aus demselben Verzeichnis wie die Binärdateien der Anwendung geladen. Ist die Option nicht angegeben, werden die Metadatendateien aus dem Implementierungsordner der Anwendung in der Konfigurationsbaumstruktur geladen.

    Wichtig: Mit der in diesem Artikel beschriebenen Prozedur können Sie useMetadataFromBinaries=true festlegen, eine extrahierte Kopie Ihrer Anwendung über Hot Deployment ändern und die Änderungen zur Laufzeit aktivieren. Änderungen, die Sie an den Anwendungsdateien über Hot Deployment vornehmen, werden von der Konsole und den wasadmin-Funktionen für die Anwendungsverwaltung jedoch nicht erkannt. Diese Funktionen erkennen nur die ursprünglichen Anwendungsdateien und keine Dateien, die über Hot Deployment geändert werden. Verwenden Sie Hot Deployment nicht, wenn Sie Ihre Anwendung exportieren, ein Plug-in auf der Basis der Anwendungskonfiguraiton oder künftig weitere Verwaltungsaktionen für die Anwendung ausführen möchten. Mit Hot Deployment können Sie Anwendungsdateien schnell ändern. Hot Deployment unterstützt jedoch nicht den vollständigen Verwaltungszyklus einer Anwendung.

    In den folgenden Informationen steht Metadatenstammverzeichnis für das Verzeichnis mit den Metadaten für die angegebene Anwendung oder das angegebene Modul.

  3. Erforderlich: Wenn Sie WebSphere Application Server auf einer Gruppe von Maschinen mit WebSphere Application Server Network Deployment ausführen und eine Anwendung auf einem bestimmten Knoten ändern, inaktivieren Sie die automatische Synchronisation.
    1. Klicken Sie in der Navigationsstruktur der Konsole auf Systemverwaltung > Node Agents > Name_des_Node_Agent > Dateisynchronisationsservice.
    2. Wählen Sie auf der Seite Dateisynchronisationsservice das Kontrollkästchen für Automatische Synchronisation ab, und klicken Sie auf OK.

    Wenn Sie WebSphere Application Server auf einer Gruppe von Maschinen mit WebSphere Application Server Network Deployment ausführen und eine Datei auf der Platte im erweiterten Anwendungsverzeichnis für einen bestimmten Knoten ändern, können diese Änderungen bei der nächsten Knotensynchronisation verloren gehen. In der Umgebung von WebSphere Application Server Network Deployment ist die vom Deployment Manager gespeicherte Konfiguration die Master-Kopie. Alle Änderungen, die zwischen dieser Master-Kopie und der Kopie auf einer bestimmten Maschine festgestellt werden, führen dazu, dass die Master-Kopie auf den Knoten heruntergeladen wird.

  4. Optional: Überprüfen Sie die Werte, die für Klassen bei der Aktualisierung von Anwendungsdateien erneut laden und Abfrageintervall für aktualisierte Dateien auf der Seite mit den Einstellungen für den Klassenlader der Anwendung angegeben sind.

    Wenn das erneute Laden von Klassen aktiviert und das Abfrageintervall größer als null (0) ist, werden die Anwendungsdateien nach dem Aktualisieren der Anwendung erneut geladen. Für JSP-Dateien (JavaServer Pages) in einem Webmodul gilt Folgendes: Der Web-Container lädt JSP-Dateien nur, wenn die IBM Erweiterung jspReloadingEnabled in den JSP-Attributen der Datei ibm-web-ext.xmi den Wert true hat. Sie können die IBM Erweiterung jspReloadingEnabled auf true setzen, wenn Sie die erweiterten Implementierungsdeskriptoren Ihres Webmoduls in einem Assembliertool editieren.

  5. Ändern Sie bei Bedarf die folgenden Komponenten oder Module, oder fügen Sie sie hinzu:
  6. Damit die Änderungen wirksam werden, müssen Sie eine Anwendung möglicherweise starten, stoppen oder erneut starten.

    Der Artikel Unternehmensanwendungen starten und stoppen beschreibt, wie Sie mit der Administrationskonsole eine Anwendung starten, stoppen und erneut starten können.

    Die Artikel Anwendungen mit wsadmin-Scripting starten und Anwendungen mit wsadmin-Scripting stoppen enthalten Informationen zur Verwendung des Scripting-Tools wsadmin.

  7. Wenn Sie die automatische Synchronisation in Schritt 3 inaktiviert haben, aktivieren Sie die Option jetzt wieder:
    1. Kehren Sie auf die Seite File Synchronization Service zurück.
    2. Wählen Sie Automatische Synchronisation aus.
    3. Klicken Sie auf OK.

Ergebnisse

Die Anwendungsdateien auf dem Server werden aktualisiert.

Da Sie die Anwendungsdateien auf dem Server direkt bearbeitet haben, können Sie die Dateien später unter Umständen nicht mehr mit der Administrationskonsole oder wsadmin-Scripting-Befehlen bearbeiten. Wenn Sie beispielsweise versuchen, eine manuell geänderte Anwendung mit der Option Exportieren auf der Konsolseite "Unternehmensanwendungen" zu exportieren, werden Ihre manuellen Änderungen an einer Anwendung im Verzeichnis installedApps nicht exportiert. Zum Exportieren dieser Änderungen müssen Sie die Anwendungsdateien manuell kopieren und verschieben.


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=trun_app_hotupgrade
Dateiname:trun_app_hotupgrade.html