In den folgenden Unterabschnitten werden verschiedene Situationen beschrieben, in denen der Server möglicherweise erneut gestartet werden muss.
In der Entwicklungsumgebung möchten Sie eine Anwendung möglicherweise ändern, während sie auf einem Server ausgeführt wird, z. B. beim Debugging einer Anwendung auf einem Server. In einigen Fällen können Sie geänderten Code dynamisch erneut laden, ohne den Server erneut zu starten. Der Status des Programms geht dabei in Abhängigkeit von der geänderten Ressource und dem Servertyp möglicherweise verloren.
Wenn eine Anwendung auf einem Server ausgeführt wird und Sie den Code ändern, wird der ursprüngliche Code so lange weiter auf der JVM (Java™ Virtual Machine) ausgeführt, bis er automatisch oder manuell erneut geladen wird. Sie können die JSP-Quelle beispielsweise ändern und die Änderungen werden automatisch erneut auf dem Server geladen. Für andere Ressourcen wie Java-Klassen, die unter Tomcat ausgeführt werden, müssen Sie den Server erneut starten, um sicherzustellen, dass die Änderungen vom Server erkannt werden.
Wenn Sie den Server oder die Serverkonfiguration ändern (z. B. die Portnummer), während der Server aktiv ist, müssen Sie den Server erneut starten.
Wenn Sie Änderungen an Ihren JSP-, HTML-, GIF- und JPG-Dateien oder ähnlichen Ressourcendateien vornehmen und die Datei speichern, während der Server aktiv ist, müssen Sie die Anwendung auf dem Server publizieren. Die Publizierung ist besonders wichtig, wenn die Änderungen der Ressourcendatei verlinkte Ressourcen betreffen. Verlinkte Ressourcen können Dateien oder Ordner sein, die an Positionen im Dateisystem außerhalb des Arbeitsbereichs gespeichert sind. Änderungen an verlinkten Ressourcen können von der Workbench bzw. dem Server nicht erkannt werden, weil die Änderungen außerhalb des Arbeitsbereichs vorgenommen wurden.
Weitere Informationen zur automatischen oder manuellen Publizierung auf dem Server finden Sie im Artikel Publishing your application.
Wenn Sie ein Servlet ändern und die Datei speichern, während der Server aktiv ist, wird das Servlet erneut geladen, falls das erneute Laden für diese Anwendung aktiviert ist. Wenn auf dem Server die sofortige Methodenersetzung ausgeführt wird1, werden die Änderungen automatisch vorgenommen, ohne dass der Browser aktualisiert werden muss. Der Server erkennt die Änderung, wenn die Anwendung auf dem Server publiziert wird. Wenn Sie den Web-Browser aktualisieren, geht der Status der Anwendung nicht verloren.
Zum Publizieren der Anwendung auf dem Server können Sie warten, bis das automatische Publizierungsintervall abgelaufen ist, oder Ihre Anwendung manuell publizieren. (Klicken Sie dazu in der Ansicht "Server" mit der rechten Maustaste auf den Server und wählen Sie Publizieren aus.) Weitere Informationen zur automatischen oder manuellen Publizierung auf dem Server finden Sie im Artikel Publishing your application. Die Sitzungsdaten für dieses Projekt sind nicht mehr vorhanden, aber der Status anderer Projekte in der Anwendung bleibt unverändert. Sie können das Projekt über das Menü in der Ansicht "Navigator" erneut starten. Wenn Sie Tomcat ausführen und das Feature für erneutes Laden nicht aktiviert haben, müssen Sie den Server erneut starten.
Wenn Sie WebSphere Application Server verwenden, gelten die Regeln auch für alle abhängigen Klassen oder Implementierungsdeskriptoren des Webprojekts. Wenn Sie die Konfigurationseigenschaften für Sicherheit oder Anmeldung des in WebSphere Application Server ausgeführten Implementierungsdeskriptors web.xml ändern, müssen Sie den Server erneut starten. Wenn Sie Tomcat verwenden, ist für jede dieser Änderungen ein Neustart des Servers erforderlich.
Wenn Sie einem Webprojekt ein Servlet, eine abhängige Klasse oder eine JSP-Datei hinzufügen, während der Server aktiv ist, werden die Änderungen erkannt, falls Sie das erneute Laden aktiviert haben. Wenn Sie WebSphere Application Server verwenden und das erneute Laden nicht aktiviert haben, müssen Sie die Anwendung publizieren und das EAR-Projekt erneut starten. Wenn Sie Tomcat verwenden, müssen Sie in diesem Fall die Anwendung publizieren und den Server erneut starten. Zum Publizieren der Anwendung auf dem Server können Sie warten, bis das automatische Publizierungsintervall abgelaufen ist, oder Ihre Anwendung manuell publizieren. (Klicken Sie dazu in der Ansicht "Server" mit der rechten Maustaste auf den Server und wählen Sie Publizieren aus.) Weitere Informationen zur automatischen oder manuellen Publizierung auf dem Server finden Sie im Artikel Publishing your application. Wenn der Server die Funktion für sofortige Methodenersetzung im Debugmodus ausführt, werden Änderungen an Java-Klassen automatisch erkannt.
Wenn Sie WebSphere Application Server verwenden, startet der Server das EJB-Projekt dynamisch erneut in der EAR. Wenn der Server die Funktion für sofortige Methodenersetzung im Debugmodus ausführt, werden Änderungen an Java-Klassen automatisch erkannt.
Wenn Sie WebSphere Application Server verwenden und eine Ressource im Unternehmensanwendungsprojekt ändern, während es auf dem Server ausgeführt wird, startet der Server die EAR dynamisch erneut. Tomcat unterstützt keine Unternehmensanwendungsprojekttests und -publizierungen.
Geänderte Ressource | Erforderliche Aktion | |||
---|---|---|---|---|
WebSphere Application Server | Apache Tomcat | WebSphere Application Server Express | ||
Serverkonfiguration | Dasselbe Verhalten wie bei einer eigenständigen WebSphere Application Server-Instanz (Details finden Sie im Information Center von WebSphere Application Server) | Server erneut starten | Server erneut starten | |
JSP | Web-Browser aktualisieren | Web-Browser aktualisieren | Web-Browser aktualisieren | |
Servlet | Erneutes Laden aktiviert | Web-Browser aktualisieren | Web-Browser aktualisieren | Web-Browser aktualisieren |
Erneutes Laden inaktiviert | EAR-Projekt oder Server erneut starten | Server erneut starten | EAR-Projekt oder Server erneut starten | |
Abhängige Klassen oder Implementierungsdeskriptoren | Erneutes Laden aktiviert | Web-Browser aktualisieren | Web-Browser aktualisieren | Web-Browser aktualisieren |
Erneutes Laden inaktiviert | EAR-Projekt oder Server erneut starten | Server erneut starten | EAR-Projekt oder Server erneut starten | |
EJB-Implementierung | Wird automatisch erneut geladen | Nicht unterstützt | Nicht unterstützt | |
EJB-Schnittstelle oder abhängige Klassen der Schnittstelle | Werden automatisch erneut geladen. Anwendungsclient erneut starten, wenn der Anwendungsclient eine Referenz auf die EJB enthält. | Nicht unterstützt | Nicht unterstützt | |
EJB, abhängige Klassen oder Implementierungsdeskriptoren | Werden automatisch erneut geladen | Nicht unterstützt | Nicht unterstützt | |
EJB oder hinzugefügte abhängige Klasse | Werden automatisch erneut geladen | Nicht unterstützt | Nicht unterstützt | |
EAR-Datei | Wird automatisch erneut geladen | Nicht unterstützt | Web-Browser aktualisieren |