Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Seam in a single legacy WAR of an otherwise Weld-enabled EAR

We are using Wildfly 8.2.0.Final, Maven 2.2.1, Seam 2.2.0.GA, and Weld 2.2.6.Final.

We have an EAR file with a legacy WAR, a new WAR, and a bunch of other modules. The legacy WAR relies on Seam, but the new WAR and the rest of the modules in the EAR rely on Weld.

Currently, only the legacy WAR is working because we have the Weld subsystem excluded in jboss-deployment-structure.xml until we can get Seam isolated to the legacy WAR somehow. We tried to remove Seam from the EAR and move it up as a dependency of the legacy WAR, but that didn't work. To work with EJBs, it seems like it needs to be a dependency of the EAR and defined as an ejbModule in the maven-ear-plugin configuration.

Any ideas about how we can set this up?

like image 942
mattalxndr Avatar asked May 14 '15 21:05

mattalxndr


People also ask

What is a seam weld?

So what is a seam weld? Seam welding is a resistance welding process in which suitably contoured copper electrodes apply pressure to create a region of high resistance between metal sheets. The current passed through this region generates heat due to high electrical resistance. A seam weld is created through fusion.

What is the difference between Resistance seam welding and parallel seam welding?

In addition, resistance seam welding can create both a single seam weld and a parallel seam weld at the same time. While resistance seam welding is fine for producing joins in a straight line, the rollers cannot produce more complex curved welds.

What is selective seam weld corrosion and how big is the problem?

Selective Seam Weld Corrosion – How Big is the Problem? Selective seam weld corrosion (SSWC) is a type of corrosion that affects the bondline region and heat affected zone (HAZ) of the longitudinal seam of a pipeline forming grooves in the seam.

What is selective selective Weld warping (SSWC)?

The term “selective” refers to the preferential attack of the weld zone rather than the adjacent base metal. SSWC can be internal or external, and has been reported in both gas and liquid pipelines.


1 Answers

You could try this (all happens in jboss-deployment-structure.xml):

1) Enable Weld subsystem. Basically, remove it exclusion: it's an implicit dependency, so there is no need to depend on it explicitly in any module.

2) wars should always be treated as isolated, but to be really sure you could add this:

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

3) For legacy war sub-deployment provide an explicit exclusion for Weld.

4) For all other modules provide an explicit exclusion for Seam.*

I think you've already checked it but: Class Loading in WildFly


*Update on module exclusion:

If it still provided as a module of AS, you should find it it modules/, check its' module.xml for module-name and then use exclusion like:

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

If you provide it in your legacy war WEB-INF/lib/, then nothing should be done I think. Or you could register it as a module manually and then exclude :)

like image 135
arghtype Avatar answered Oct 13 '22 01:10

arghtype