2015-05-14 26 views
7

Stiamo usando Wildfly 8.2.0.Final, Maven 2.2.1, Seam 2.2.0.GA e Weld 2.2.6.Final.Uso di Seam in un WAR singolo di un EAR abilitato per la saldatura altrimenti

Abbiamo un file EAR con una WAR legacy, una nuova WAR e una serie di altri moduli. La legacy WAR si basa su Seam, ma la nuova WAR e il resto dei moduli in EAR si basano su Weld.

Attualmente, solo la legacy WAR sta funzionando perché abbiamo il sottosistema di saldatura escluso in jboss-deployment-structure.xml finché non saremo in grado di portare Seam isolato in WAR in qualche modo. Abbiamo cercato di rimuovere Seam dall'EAR e spostarlo come dipendenza dalla legacy WAR, ma non ha funzionato. Per lavorare con gli EJB, sembra che debba essere una dipendenza dell'EAR e definita come ejbModule nella configurazione del plug-in maven-ear.

Qualche idea su come possiamo impostare questo?

risposta

1

Si potrebbe provare questo (tutto avviene in jboss-deployment-structure.xml):

1) Enable sottosistema Weld. Fondamentalmente, rimuoverlo dall'esclusione: è un implicit dependency, quindi non c'è bisogno di dipenderlo esplicitamente in nessun modulo.

2) war s devono sempre essere trattati come isolato, ma per essere davvero sicuro che si potrebbe aggiungere questo:

<subsystem xmlns="urn:jboss:domain:ee:1.0" >    
    <ear-subdeployments-isolated>true</ear-subdeployments-isolated> 
</subsystem> 

3) Per eredità war sub-distribuzione forniscono una esplicita esclusione per la saldatura.

4) Per tutti gli altri moduli forniscono una esplicita esclusione per Seam *

Credo che tu abbia già controllato, ma:. Class Loading in WildFly


* Aggiornamento sull'esclusione modulo:

Se viene ancora fornito come modulo di AS, dovresti trovarlo nello , controllare il suo 'module.xml per nome-modulo e quindi utilizzare l'esclusione come:

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

Se lo fornite nella vostra guerra precedente WEB-INF/lib/, quindi non si dovrebbe fare nulla, penso. Oppure potresti registrarlo manualmente come modulo e quindi escluderlo :)

+0

Come si aggiunge un'esclusione per la giunzione a una distribuzione secondaria in jboss-deployment-structure.xml? – mattalxndr

+0

Ho aggiornato la risposta relativa allo – arghtype

1

Perché non dividerci in orecchie separate? Dopotutto, stai usando componenti incompatibili nella tua guerra. Quindi un orecchio ha esattamente le stesse definizioni dell'altro tranne che nel file di guerra. Non c'è bisogno di pubblicizzare alcun codice.

+1

Devono condividere lo stato della sessione e i dati di autenticazione. – mattalxndr