> Different messages arriving in a different order, for one.  Classes are
> only loaded on demand, not simply because they exist in a defined library.
>
> > I would suppose the classloading ritual is a serial process,
> > instead of a parallel process.
>
> Nope.  In a multi-threaded environment, you cannot predict who's going to
> reference what class first, unless you have extremely tight control over
> event ordering.  There is a very, very small period when there's a global
> lock set during classloading, but other than that, it's pretty much a
> free-for-all.
>
> Aha. Stupid of me. I thought all classes were loaded at startup, instead of
at invocation.

> What I'm saying is that I don't think that any class in
> > common/lib references to spring.
>
> You keep referring to common/lib but stated earlier that you're running on
> 6.0.20, and common/lib does not exist on that level; have you modified
> conf/catalina.properties to utilize that directory?  If so, why, and what
> happens if you keep things as they were intended?
>
> My bad. I just meant catalina_home/lib.

I currently don't have access to the server to check catalina_home/lib
contents, but I do have the webapp.war here. So I did a grep for the
ContextLoaderListener and it turns out there are 2 libraries in my
web-inf/lib containing a class definition for that:

spring-2.5.6.jar and spring-web-2.5.6.jar

Maybe one is interfering with the other

Reply via email to