2010-03-23 15 views
5

Was ist der richtige Weg, um eine neue Version einer laufenden App in Glassfish neu zu implementieren? Ich habe einen WAR-Lauf und ich habe Änderungen vorgenommen. Ich denke, eine Bereitstellung undeploy + deploy könnte das Richtige sein, aber Glassfish (v3) stürzt oft ab, wenn ich die Bereitstellung aufheben.Glassfish war lebenszyklus frage

Was ist der richtige Weg, um eine laufende App in Glassfish neu zu implementieren?

Antwort

4

Es gibt eine Reihe von Möglichkeiten, eine Webanwendung auf GlassFish v3 neu zu implementieren.

Die Methode, die ich empfehlen würde, ist 'asadmin redeploy --name foo --properties keepSessions = true foo.war' (oder Verwendung Verzeichnisbereitstellung für die Web-App ...)

können Sie auf der man page for the deploy subcommand of asadmin aussehen um mehr über die Details zu erfahren.

Ich werde kaum jemals deployen dann deploy .... es dauert zu lange.

Ich erstelle fast nie eine dot-war-Datei .... Ich mache normalerweise Verzeichnis-Bereitstellung, die die Zeit, die die Erstellung und dann die Kriegsdatei explodieren würde, beseitigt.

Mithilfe der Verzeichnisbereitstellung kann ich auch Tweaks auf JSP-Dateien anwenden und sie ohne einen Neuaufbau-/Neubereitstellungsschritt testen.

Ich verwende gerne die keepSessions-Eigenschaft, während ich Entwicklung mache. Ich weiß nicht, ob diese Eigenschaft in einer Produktionssituation nützlich wäre.

Die von Ihnen beschriebene Methode sollte den Server wahrscheinlich nicht zum Absturz bringen ... Bitte reichen Sie ein Problem unter https://glassfish.dev.java.net/servlets/ProjectIssues ein, damit die Leute im Team herausfinden können, wo das Problem liegt.

+0

@vkraemer - Tolle Tipps, danke. – Robot

0

Ich weiß nicht, warum v3 sollte anders sein, aber in v2 ist genau das, was wir tun. Wir nehmen zuerst die Bereitstellung auf und stellen sie dann erneut bereit.

Verwenden Sie die Admin-GUI oder asadmin (Befehlszeile), um dies zu tun? Ist das Verhalten in beiden Richtungen gleich?

2

undeploy Mittel, um alle Spuren einer Web-Anwendung zu entfernen:

  • seine Klassenlader
  • kompilierten JSPs
  • Datei HTTP-Sitzungen beibehalten

Wann tritt das Problem? Stürzt GlassFish wirklich ab? Kannst du uns mehr Details geben?


Für die Aufzeichnung hat v3 einen Glassfish redeploy Befehl:

asadmin redeploy --name mywar mywar.war 

Aber da redeploy = undeploy + deploy, wird dies nicht Ihr Problem lösen.

+0

Nun, nicht * alle * ... unter Windows kann es nicht die JAR-Dateien in WEB-INF/lib löschen, so dass diese rumhängen. Sehr beunruhigend, als ich das zum ersten Mal sah, bis ich die Liste der veralteten Dateien sah. :-) – Snekse