Unsere Methode, eine neue Version einer App für Weblogic (11g) bereitzustellen, besteht darin, über die bestehende EAR-Datei zu kopieren und dann den Weblogic-Server anzuhalten und neu zu starten. Wir machen einen Start / Stop von Weblogic statt einer erneuten Implementierung, wegen des bekannten Permgen Problems (wo wir irgendwann keine Perm gen haben werden und den Weblogic Server bouncen müssen).
Diese Art der Bereitstellung hat jedoch einen Nachteil: Neue JSP-Versionen werden von weblogic nicht erkannt. Um dies zu beheben, mussten wir den Inhalt des tmp-Verzeichnisses löschen, das vor dem Neustart des Servers einen Cache der kompilierten JSPs verwaltet. Gibt es eine Einstellung, die weblogic dazu auffordert, JSPs zu löschen / neu zu laden / neu zu kompilieren, wenn es wieder startet?
Ändern des JSP-Aktualisierungstimers
Eine Standardlösung besteht darin, Weblogic anzuweisen, die JSP-Frische häufiger zu überprüfen, indem Sie entweder den Wert in Ihrem web.xml
oder in Ihrem weblogic.xml
festlegen.
Im Produktionsmodus sucht Weblogic nicht nach neuen JSP-Versionen ( Standardwert: -1 ), während jede Sekunde im Entwicklungsmodus ausgeführt wird ( Standardwert: 1 ) ).
Die Entscheidung, ob Sie web.xml
oder weblogic.xml
ändern möchten, hängt von Ihnen ab, und zwar in Bezug auf die ausgewählten Anwendungsserver, die nur WebLogic sind oder nicht.
Wenn Sie web.xml
ändern möchten, legen Sie wie folgt einen Wert für den Kontextparameter weblogic.jsp.pageCheckSeconds
fest:
Wenn Sie weblogic.xml
ändern möchten, legen Sie einen Wert für den Parameter page-check-seconds
im Abschnitt jsp-descriptor
fest. Hier ist der relevante Auszug aus der Dokumentation:
Legt das Intervall in Sekunden fest, nach dem WebLogic Server überprüft, ob sich JSP-Dateien geändert haben und neu kompiliert werden müssen. Abhängigkeiten werden ebenfalls überprüft und rekursiv neu geladen, wenn sie geändert werden. Der Wert -1 bedeutet, dass die Seiten nie überprüft werden. Dies ist der Standardwert in einer Produktionsumgebung. Der Wert 0 bedeutet immer die Seiten zu überprüfen. Der Wert 1 bedeutet, dass die Seiten jede Sekunde überprüft werden. Dies ist der Standardwert in einer Entwicklungsumgebung. In einer Produktionsumgebung, in der Änderungen an einer JSP selten sind, sollten Sie den Wert von pageCheckSeconds gemäß Ihren Optimierungsanforderungen auf 60 oder höher setzen.
Quelle: Ссылка
Erzwingen der erneuten Bereitstellung
Beim Neustart des Weblogic-Servers wird die erneute Bereitstellung einer Webanwendung (insbesondere im Produktionsmodus) nicht erzwungen.
Lösung Aktivieren Sie explizit die Lebenszyklusoperation "reploy" mithilfe der folgenden Befehlszeile:
%Vor% Beachten Sie, dass -redeploy
WAYS viel sicherer ist als -update
, esp. mit Weblogic & lt; = 10.x
Halten Sie den ersten Block zwischen [], nur wenn der Server nicht lokal ist. Entfernen Sie in diesem Fall [].
Halten Sie den zweiten Block zwischen [], wenn Sie die WAR-Datei im selben Schritt hochladen möchten, was viel einfacher ist. Entfernen Sie in diesem Fall [].
Tags und Links weblogic weblogic11g