tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From V D <>
Subject Re: [OT] How to write/use Tomcat's war classloader
Date Sat, 15 Apr 2006 03:53:38 GMT
Thank you for your interest.  The application starts very slowly with 
the war and my classloader (this is a standard app, not webapp).  The 
war also has a webapp in it.  This has nothing to do with the 
application logic.  It's the leading time to load the classes.  It takes 
about 2 or 3 minutes.  The same JVM 1.5.0 runs Tomcat (5.5.12) would 
response to request much quicker (about 10 seconds) after the 1st 
request.  If I run the war file unpacked and using standard classloader, 
it's a couple of seconds before things run.  However, using our own 
class loader with the packed war (which searches all libraries in the 
lib and classes in the classes directory) it takes along time described 

My question is about how Tomcat does this in the unpacked war scenario.  
I couldn't find the Tomcat loader that does this.  I suspect it unpacked 
it first, but this is a wild speculation.

P Y wrote:
> maybe you could give a bit more context to interpret "very slow" or "quickly".
> like what version of tc and jvm are you using ... etc
> On 4/12/06, V D <> wrote:
>> Anyone have an idea about this?
>> V D wrote:
>>> We have a sizable war file (|unpacked|) that needs to be run in
>>> certain way outside of Tomcat.  To do this, we created a classloader
>>> which works Ok except that it's very slow (using JarFile).  I know
>>> that when deploy apps in Tomcat, I can specify it to not to unpack
>>> (|unpackWAR = "false").  However, Tomcat load and run the apps
>>> quickly. I looked into Tomcat source, the org.apache.catalina.loader
>>> package and could not find anything like that.  I see
>>> WebappClassLoader, but it seems to load from an unpacked war, not
>>> packed war.  Does Tomcat actually unpack the war before loading the
>>> app?  If not, could someone point me to the right place to look, or
>>> give some advice on how to write this thing faster?
>>> Thanks,
>>> -vd
>>> |
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> For additional commands, e-mail:
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message