2010-05-10 4 views
5

Wir betreiben zwei separate Webapps (WARs) in einem einzelnen EAR mit zusätzlichem JARs und Einstellungen eingesetzt zur Zeit entfernt oder hinzugefügt werden. Um unsere Implementierung zu verbessern, möchte ich eine dieser Webapps in verschiedene Module teilen, die einzeln gebaut und verpackt werden können. Aber ich habe derzeit keine Ahnung, wie ich diese Module verpacken soll, damit ich sie beliebig hinzufügen oder entfernen kann - bestenfalls zur Laufzeit.Wie ein einzelnes Webapp mit mehrer Web-Module bereitstellen, die können einzeln

Die Webapp wird immer komplexer und ich möchte einige der Funktionen in Module unterteilen. Diese Module sollten als einzelne Archive gepackt werden. Solange sie nur durch Code geladene Klassen und Ressourcen enthalten, weiß ich, wie das geht (einfache JARs). Aber wie steht es mit JSPs? Normalerweise enthält eine WAR-Datei JSPs oder HTML-Dateien. I mein Fall ist es JSF Seiten unter Verwendung JBoss Seam und RichFaces.

werden Diese Module Klassen, Ressourcen und JSF Seiten und andere enthalten zum Laufe Webapplikation hinzufügen. Ist es irgendwie möglich, sie als einzelne Archive bereitzustellen, um dieselbe laufende Webanwendung zu bedienen?

Wir verwenden Maven für unsere Build und Verpackung und Bereitstellung in JBoss v4.

+0

Was Sie fragen, geht über die Möglichkeiten von JavaEE-Bereitstellungen hinaus. Sie könnten einen Next-Gen-Container wie Spring dmServer in Betracht ziehen, wenn Sie wirklich solche Sachen wollen. – skaffman

+0

Einige interne Diskussionen zeigten die Möglichkeit, Java-codierte JSF-Elemente anstelle von XHTML-Dateien zu verwenden. Zum Beispiel könnte ein Modul so etwas wie das öffentliche HtmlPanel getHtmlPanel(); Aber das bedeutet, dass wir mehrere (50+) existierende xhtml-Dateien in Code konvertieren müssen. Ich möchte das vermeiden. –

Antwort

1

Eine einfache Möglichkeit ist es, die JSPs verschiedener Module in verschiedenen Ordnern abzulegen, und die JSPs, die in allen Modulen verwendet werden, können im Stammverzeichnis verbleiben.

Wenn Sie jetzt ein Modul entladen möchten, entfernen Sie den entsprechenden Ordner.

Hoffe, das hilft.

+0

Das ist ein möglicher Weg, damit umzugehen ... aber in einem großen und komplexen Projekt mit einem separaten Hoster, der am Einsatz beteiligt ist, kann es nicht sicher gehandhabt werden und ist daher praktisch nicht. Danke trotzdem. –

+0

@Daniel weitere Ideen? –

+0

Nichts Neues hier noch ... nur die Idee in meinem Kommentar auf die ursprüngliche Frage erwähnt. Ich handle gerade viele Dinge parallel und hoffe, in dieser Woche noch mehr zu diesem Thema zu finden. –

Verwandte Themen