PEPOST:

Folks,

I was playing around with the J2eeDeployer the last 2 days and I think I
ve got it now. Will put it into cvs then.

To answer your classloader questions:
Right now the classloader architecture is build like this:

servlet classloader(s)   ejb classloader(s)
        
       |                          |
       +----------+---------------+  
                  |
            common classloader

the common classloader gets all the libraries that are pointed to by the
MANIFEST/Class-Path entrys of all web.war/ejb.jar modules within an
app.ear.
the servlet classloader is then a child of this common classloader and
gets the web.war in his classpath.
the ejb classloader is also a child of the common classloader and he
gets the ejb.jar in his classpath.

In my eyes this was the cleanest solution.
To get the tomcat-test.ear (from the contrib/tomcat module) working in
vm now it needs to be changed this way: 
Create an interfaces.jar package (for the ejb package) which contains
the remote interfaces and all for communication needed classes
(parameter types), add it to the .ear file and make a Class-Path entry
in the .war files MANIFEST.MF. - nice and clean

Or just add the .jar package (the whole ejb package) to the
MANIFEST/Class-Path of the .war file.

BTW: the old implementation had a couple of _holes_ and did only work
well with our cleanroom .ear file.
I also set the J2eeDeployer into the AutoDeployer so that now
_everybody_ should be able to deploy something in jBoss ;-)

I ll commit this stuff today (first I have to clean up the code a little
;-) and will also put a how-to/docu somewhere...

\Daniel

Reply via email to