axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glen Daniels <gdani...@macromedia.com>
Subject RE: Could we please take a second and discuss AxisClassloader (3r d attempt)
Date Thu, 31 Jan 2002 23:27:49 GMT
> As to why the current thead contexts class loader was not 
> able to load axis
> classes in dynamo,  to tell you the truth it  was a bit 
> suprising to me
> also,  but  since presumably the classes which provide the 
> web service are
> deployed along with the AxisServlet class. calling new
> SomeAxisClass().getClass().getClassloader() should resonably 
> be able to
> access both axis classes and web service provider  classes in 
> a wide variety
> opf servlet containers since they are in the same set of jar files/ear
> file/war file. is this not the case in jrun. how do calls to 
> new  foo()
> work if it were not the case?

Actually, the question is precisely the reverse - i.e. I should be asking you that about Dynamo.

Here's JRun's classloader structure:

        System Classloader
                |
        Server Classloader
        /               \
   Webapp1 CL        Webapp2 CL

Axis gets loaded by the Server classloader, but the Webapp classloaders are the ones who have
the WEB-INF/classes dirs on the classpath.  So clearly, all the classes loaded by the Server
classloader are available in all the Webapps, but NOT vice versa.  And new Axis*().getClass().getClassLoader()
will return the Server classloader for us.

Sooo... your turn. :)  How do you think this works in Dynamo such that the current thread's
classloader can't find the classes in WEB-INF?  In other words - if a new Axis*() works for
you, one would think the current WEB-INF (since that's where your axis.jar lives) would be
somewhere in the classloader hierarchy starting at the current thread one.... no?

--Glen

Mime
View raw message