Wie aktualisiere ich eine Tomcat-Webanwendung, ohne den gesamten Dienst neu zu starten?
Ich bin neu Tomcat
. Wir haben einen dev-Maschine mit etwa 5 Anwendungen laufen. Obwohl es dev, es ist von unseren Kunden genutzt ziemlich stark während der Prüfung.
Also sagen, wir müssen eine kleine änderung an einer Klasse-Datei. Jetzt haben wir zum Herunterfahren des Tomcat (die die anderen vier apps), löschen Sie die WAR
- Datei (und web-app-Verzeichnis), erneute Bereitstellung der neuen WAR
Datei, und starten Sie Tomcat
.
Natürlich, das regt ein paar Menschen, weil es zerstört alle angemeldeten Sitzungen für alle apps.
Gibt es einen besseren Weg, dies zu tun? Ich meine, gibt es eine Möglichkeit, nur laden die KLASSE geändert, dass anstatt alles auf der dev-Maschine?
Dank.
InformationsquelleAutor der Frage cbmeeks | 2011-07-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht, zu verwenden Der Tomcat-Manager-Anwendung? Es erlaubt Ihnen, um die Implementierung /bereitstellen von war-Dateien mit heraus ausschalten, Tomcat herunter.
Wenn Sie nicht wollen, verwenden Sie die Manager-Anwendung, Sie können auch löschen Sie die war-Datei aus dem webapps-Verzeichnis von Tomcat wird die Implementierung der Anwendung nach kurzer Zeit. Dann kopieren Sie die war-Datei wieder in das Verzeichnis, und Tomcat bereitstellen der war-Datei.
Wenn Sie Tomcat auf Windows, müssen Sie möglicherweise konfigurieren Ihrem Kontext nicht sperren verschiedene Dateien.
Wenn du absolut keine Ausfallzeiten, möchten Sie vielleicht zu schauen, Tomcat 7 ist die Parallele Bereitstellungen können Sie die Bereitstellung mehrerer Versionen einer web-Anwendung mit der gleichen Kontext-Pfad an der gleichen Zeit. Die Regeln werden verwendet, um Anfragen an einen Kontext-version sind wie folgt:
InformationsquelleAutor der Antwort Steve K
Im conf-Verzeichnis von apache tomcat finden Sie context.xml Datei. In diesem edit-Tags als <Kontext reloadable="true">. dies sollte das Problem beheben, und Sie müssen nicht den server neu starten
InformationsquelleAutor der Antwort skal
Gibt es mehrere einfache Möglichkeiten.
Nur touch web.xml jeder webapp.
Können Sie das update auch eine bestimmte jar-Datei in WEB-INF/lib, und berühren Sie dann web.xml anstatt ganze Gebäude war-Datei, und implementieren Sie es erneut.
Löschen webapps/YOUR_WEB_APP directory, Tomcat startet der Implementierung von war-innerhalb von 5 Sekunden (vorausgesetzt, Sie Ihre war-Datei noch vorhanden ist in den webapps-Ordner).
In der Regel überschrieben war-Datei mit der neuen version wird bereitgestellt von tomcat automatisch. Wenn nicht, können Sie berühren web.xml wie oben erläutert.
Kopieren über eine bereits explodierte "Verzeichnis", um Ihre webapps Ordner
InformationsquelleAutor der Antwort Chirag Katudia
Für die Entwicklung....
http://www.zeroturnaround.com/jrebel/current/
InformationsquelleAutor der Antwort l_39217_l