3 Stimmen

Gibt es eine einfache Möglichkeit, Code auf JBoss Bereitstellung eines JAR innerhalb einer EAR ausführen?

Ich plane den Einsatz eines EAR verpackte Anwendung in JBoss v4.2 als einen Ordner, der den Inhalt der EAR enthält. Bis jetzt wird die EAR als einzelne Datei bereitgestellt. Ich hoffe, dass ich in der Lage sein werde, einzelne JARs ohne dass die Anwendung neu gestartet werden muss.

Gibt es irgendeine Art von Veranstaltung Hörer ou Anmerkung die verwendet werden kann, um diese JAR-Dateien bei der Bereitstellung zu registrieren? Die Idee ist eine Plugin wie die Bereitstellung einiger Funktionen, die eine bekannte Schnittstelle implementieren. Die Plugins sollen in einer Seam-Webapp-Umgebung verwendet werden und können bei Bedarf gegen aktualisierte Versionen ausgetauscht werden.

Irgendwelche Ideen? Danke!

3voto

Pascal Thivent Punkte 548176

AFAIK ist dies nicht möglich/unterstützt. Bei der Verwendung einer explodierten EAR würde das Berühren eines einzelnen Moduls den Hot Deployment-Prozess der gesamten EAR auslösen.

En Entwicklung leichtgewichtiger Java-Webanwendungen: Nutzung von EJB3, JSF, POJO und Seam :

3.4.2. Hot Deployment

Eine weitere Funktion von JBoss, die die agile Entwicklung unterstützt, sind explodierte Archive. Die EAR-, EJB3 JAR- und WAR-Dateien sind nicht nicht notwendigerweise JAR-Dateien im JBoss Container. Sie können Verzeichnisse sein sein, die den Inhalt der JAR Datei enthalten. Zum Beispiel, anstatt von die Datei dvdcatalog.ear als eine einzelne Datei einzelne Datei zu verteilen, können Sie sie als Verzeichnis.

Mit der Explosionsrichtung Änderungen an jeder einzelnen JSP-Seite oder Java-Klassendatei in der Anwendung während der Server läuft. Dann können Sie [ ] Datei im explodierten Verzeichnis (d.h., Aktualisieren des Zeitstempels der Datei auf aktuell), um die gesamte EAR Anwendung. Dies spart außerdem Zeitersparnis für eine schnelle agile Entwickler.

Das, wonach Sie suchen, klingt nicht einfach. Es würde erfordern, die Änderung zu erkennen, geladene Klassendefinitionen aus diesem JAR zu entladen (vorausgesetzt, diese Information ist bekannt), Klassen neu zu laden (so etwas in der Art, aber ich bin mir ziemlich sicher, dass ich zu sehr vereinfache). Vielleicht eher eine Aufgabe für einen OSGI-Server.

Siehe auch

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X