Wie kann ich eine Webanwendung in zwei Kontext-Roots in Weblogic 10g installieren?
Antworten
Zu viele Anzeigen?Dies ist eine Frage der Verpackung. Verpacken Sie die WAR zweimal, jeweils mit einer spezifischen WEB-INF/weblogic.xml
, um es zu lösen. Für den ersten KRIEG:
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-web-app>
<context-root>my-context-1</context-root>
</weblogic-web-app>
Für das zweite WAR:
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-web-app>
<context-root>my-context-2</context-root>
</weblogic-web-app>
Dadurch können Sie die Standardverteilungswerkzeuge verwenden. Ich empfehle nicht, Ihre Anwendung als gemeinsam genutzte Bibliothek zu installieren.
Wenn Sie dies wirklich benötigen, empfehle ich, Ihre Anwendung zu einer gemeinsam genutzten Bibliothek zu machen und nur eine neue web.xml-Datei zu erstellen, um den Kontext Root für die beiden Bereitstellungen zu ändern.
Auf diese Weise duplizieren Sie nicht die gesamte War-Datei und können sie trotzdem individuell konfigurieren.
Wenn Sie einen Apache-Reverse-Proxy vor dem Anwendungsserver haben, können Sie mod_rewrite verwenden, um den Kontext Root auf der Serverseite zu ändern (transparent für den Client).
Ein Beispiel: Wenn Sie die folgenden Anweisungen in httpd.conf einfügen, wird der Inhalt von 2.html zurückgegeben, wenn der Client 1.html aufruft:
RewriteEngine on
RewriteRule ^/1.html$ /2.html
Dementsprechend könnte man die offensichtliche Übersetzung vornehmen und die zweite Kontextwurzel in die andere einzelne Kontextwurzel übersetzen.