2015-05-14 18 views
7

Wir verwenden Wildfly 8.2.0.Final, Maven 2.2.1, Seam 2.2.0.GA und Weld 2.2.6.Final.Verwendung von Seam in einer einzigen Legacy WAR eines ansonsten Weld-fähigen EAR

Wir haben eine EAR-Datei mit einem Legacy WAR, einem neuen WAR und einer Reihe anderer Module. Der Legacy WAR basiert auf Seam, aber der neue WAR und der Rest der Module in der EAR basieren auf Weld.

Derzeit funktioniert nur die Legacy-WAR, weil wir das Weld-Subsystem in jboss-deployment-structure.xml ausgeschlossen haben, bis wir Seam isoliert auf die Legacy-WAR irgendwie bekommen können. Wir haben versucht, Seam aus der EAR zu entfernen und es als eine Abhängigkeit von der alten WAR zu verschieben, aber das hat nicht funktioniert. Um mit EJBs zu arbeiten, scheint es eine Abhängigkeit von der EAR zu sein und als ejbModule in der maven-ear-plugin-Konfiguration definiert zu sein.

Irgendwelche Ideen, wie wir das einrichten können?

Antwort

1

Sie könnten versuchen, diese (alles geschieht in jboss-deployment-structure.xml):

1) aktivieren Weld-Subsystem. Im Grunde, entfernen Sie es Ausschluss: Es ist ein implicit dependency, so dass es nicht notwendig ist, sich in jedem Modul explizit darauf zu verlassen.

2) war s sollte immer getrennt behandelt werden, aber wirklich sicher sein, Sie dies könnte hinzufügen:

einen expliziten Ausschluss sorgen für Weld
<subsystem xmlns="urn:jboss:domain:ee:1.0" >    
    <ear-subdeployments-isolated>true</ear-subdeployments-isolated> 
</subsystem> 

3) Für ältere war Unter Einsatz.

4) Für alle anderen Module bieten einen expliziten Ausschluss für Seam *

Ich glaube, Sie bereits es aber überprüft haben. Class Loading in WildFly


* Update Modul Ausschluss:

Wenn es immer noch als ein Modul von AS zur Verfügung gestellt wird, sollten Sie es finden modules/, überprüfen Sie seine 'module.xml für Modul-Name und verwenden Sie dann Ausschluss wie:

<exclusions> 
    <module name="module_name" /> 
</exclusions> 

Wenn Sie es in Ihrem Erbe Krieg liefern, dann sollte nichts getan werden, denke ich. Oder Sie können es manuell als Modul registrieren und dann ausschließen :)

+0

Wie füge ich einen Ausschluss für die Naht zu einer Unterbereitstellung in jboss-deployment-structure.xml hinzu? – mattalxndr

+0

Ich aktualisierte die Antwort dazu – arghtype

1

Warum nicht in separate Ohren teilen? Schließlich verwendest du inkompatible Komponenten in deinem Krieg. Ein Ohr hat genau die gleichen Definitionen wie das andere, außer aus der Kriegsakte. Keine Notwendigkeit, irgendeinen Code zu veröffentlichen.

+1

Sie müssen Sitzungsstatus und Authentifizierungsdaten teilen. – mattalxndr