On Fri, 22 Jun 2001, Jon Stevens wrote:

> on 6/22/01 5:09 PM, "Remy Maucherat" <[EMAIL PROTECTED]> wrote:
> 
> > I'm not too sure about that yet ...
> > Jon's case is quite complex, and is definitely not the same thing as your
> > test case.
> > 
> > Remy
> 
> I don't think that my case is that out of the ordinary though.
> 
> Essentially, classes in a .jar file are attempting to instantiate classes in
> the WEB-INF/classes directory using Class.forName(). It works fine in normal
> usage, it just doesn't work when the classloader reloads things.
> 
> I'm curious how other people are able to use Catalina with these bugs in it.
> Anyone?
> 
> -jon
> 
> 

Jon,

Following up on Remy's theory of what might be going on with your case, is
the following scenario possible with Scarab?

- Class A is loaded from the shared class loader (because it's
  from a JAR file in $CATALINA_HOME/lib).

- Class B is loaded from Scarab's class loader (it shouldn't matter
  whether it's from /WEB-INF/classes or /WEB-INF/lib.

- A reference to an instance of class B is passed to class A and stored
  (perhaps in a static collection or something).

- The webapp is reloaded (either because of a modified class or a
  command via the Manager webapp).

If this scenario is possible, you'd get a ClassCastException or something
like that when trying to reference the instance of class B after the
reload.  However, if everything is loaded from /WEB-INF/classes or
/WEB-INF/lib, then something else is going on.

Craig


Reply via email to