Hi,

I have 3 ears that define modules A, B, C. These modules are dependent in the sense 
that for example, module B is using interfaces from module A to get compiled (and even 
deployed without having A being deployed).
I would like to deploy/redeploy these modules at any time. So, to achieve my goal, I 
separated interfaces from bean in each module and put the interfaces to solve the 
dependency issues.

So schematically, the 3 ears looks like:

A :
 A.jar // only beans
 lib/A-client.jar // only interfaces from A
 META-INF - application.xml 
          // defines lib/A-client.jar as java module
          // defines A.jar as ejb module

in A.jar, the ejb-jar.xml file contains the tag 
<ejb-client-jar>lib/A-client.jar</ejb-client-jar> and the Class-Path from its 
MANIFEST.MF contains lib/A-client.jar

B: //depends on A and C
 B.jar // an ejb module
 lib/A-client.jar // only interfaces from A
 lib/another-jar.jar // containing no beans
 lib/C-client.jar // only interfaces from C
 META-INF - application.xml

In B.jar, the ejb-jar.xml file contains tags <ejb-client-jar> that list all the jar 
from the lib dir, and the Class-Path from its MANIFEST.MF contains these libs.

C : // depends on A
 C.jar // only beans
 lib/C-client.jar // only interfaces from C
 lib/another-jar.jar // same that the one from B
 lib/A-client.jar // only interfaces from A
 META-INF - application.xml

In C.jar, the deployment descriptor contains tags <ejb-client-jar> that list all the 
jars from the lib dir and the Class-Path entry from its MANIFEST.MF also contains 
these libs.
                             
All modules deploy correctly and the application runs correctly until I redeploy the 
modules... Once they are redeployed I got an IllegalAccessError on some beans (in fact 
it seems that each inner class are hitten by this error, I don't know for sure that 
there is a relation).
After having a look at the documentation, it seems that the error occurs because the 
same classe is loaded in different class loaders. I saw that to be able to use the 
same classe in different ear, we have to define tag <loader-repository> in the 
jboss-app.xml (near the application.xml). That what I did for each module: adding


  | <loader-repository>
  |      kiala:core=LoaderRepository
  |      <loader-repository-config>
  |         java2ParentDelegation=false
  |      </loader-repository-config>
  | </loader-repository>
  | 

The application deploys very well, but I got a ClassCastException at runtime...

Any help would be welcome.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3834067#3834067

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3834067


-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to 
deliver higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to