cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject Re: re loading of classes in tomcat 3.2b4 is _sloooooow_@6
Date Mon, 25 Sep 2000 22:46:31 GMT
Sebastien Sahuc wrote:
> 
> I'm crossposting the mail to cocoon-dev and tomcat-dev, sorry for the
> annoyance.
> 
> "Craig R. McClanahan" wrote :
> 
> > Sebastien Sahuc wrote:
> 
> > > Same with Catalina .... :-(
> 
> > >
> > > Any hint on why is it so slow to start the Catalina ?
> > >
> 
> > I don't remember if 3.2 does this, but Catalina logs when it starts and
> > stops
> > initializing the random number generator.  It would be interesting to
> > find
> > out if that is the issue or not for you.  By the way, this is done once
> > per
> > webapp (they use independent RNGs) so the number of different webapps
> > you
> > have defined matters.
> 
> I have exactly one webapp which is cocoon2. Cocoon2 comes as a big WAR
> file, and the more a remove -unecessary- jar files from web-inf, the
> faster is the application startup and smoother is the whole running.
> I also noticed that having only one Xerces parser (in system classpath)
> for both cocoon2 webapp and catalina improves notably the average
> performance and memory footprint...
> I don't have exact figures but we should start now to be aware of these
> libraries sharing and Classloader issues.

Oh, yes. Catalina's classloader is much slower compared to the system
classpath. This is pretty obvious... but this is only at boot time, it
doesn't make a real difference after you've loaded all the necessary
classes.

As for memory footprint, this is pretty obvious, but it could lead to
potential security problems.

Craig, shouldn't we have a "safe" mode and a "normal" mode for
classloading?
 
> So the first question would be : when an application share common library
> (say DOM and sax packages), what are the benefits of delivering the war
> Webapp file with the web-inf/lib conataining the duplicated library (for
> cocoon the shared libraries are Xerces (since catalina can works with
> it), tools.jar (which is 4mg big!), jndi.jar, etc ...)

The first and basic advantage is ease of installation. Drag your war
file and you're done.

The second advantage is complete separation: no problem with class cast
exceptions and all that since the web-inf/lib takes precedence (I like
this very much)
 
-- 
Stefano Mazzocchi      One must still have chaos in oneself to be
                          able to give birth to a dancing star.
<stefano@apache.org>                             Friedrich Nietzsche
--------------------------------------------------------------------
 Missed us in Orlando? Make it up with ApacheCON Europe in London!
------------------------- http://ApacheCon.Com ---------------------



Mime
View raw message