I must admit, I've read a lot of the documentation (including the three class loader
articles on the wiki), and some other forum posts, and I still don't get it.
The goal is the following:
1) Use our own copy of any utility JAR's we choose to deploy (STaX, for example, or
Apache Axis).
2) Use the JBoss copy of any utility JAR's that we don't deploy (Xerces, for
example).
3) Have both a "production" and a "development" version of our product
running in the same JBoss instance.
We deploy our app as an EAR file containing utility JAR's and a single WAR. To make
everything work correctly, I've added the following jboss-app.xml file:
| <jboss-app>
| <loader-repository>
|
www.foo.com:loader=foo-demo.ear
| <loader-repository-config>
| java2ParentDelegation=true
| </loader-repository-config>
| </loader-repository>
| </jboss-app>
|
The development version and the production version have different JMX names for the
loaders.
With this configuration, everthing was working fine, until I tried to use an Apache Axis
client for a web service.
All of a sudden, we are getting "java.lang.LinkageError: loader constraints violated
when linking javax/xml/soap/MimeHeaders class" whenever we try to use this client.
The weird things:
1) Whichever version of the app is accessed first will work. So for example, if I hit
production first then production works and dev fails, vice versa.
2) The JMX console shows that javax.xml.soap.MimeHeaders is being loaded into a single UCL
for each hierarchical loader, which is what we want, right?
I would appreciate any help.
Sincerely,
Matt
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3958167#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...