I have a question about how Tomcat 5.5 starts up. I'm looking through the
source code of 5.5.28 trying to follow it and I'd appreciate it if someone
could clarify a point or two for me.

>From reading the server.xml, the hierarchy of containers in Tomcat is:

Server
  Service
    Engine
      Host

I'm not using contexts declared in the server.xml so I'm omitting them.

Looking through the source code, the classes seem to be defined in the same
hierarchy. There's StandardServer, StandardService, StandardEngine,
StandardHost.

It looks like StandardEngine.start() invokes ContainerBase.start() which I'm
guessing starts each one of the hosts using this loop:

Container children[] = findChildren();
for (int i = 0; i < children.length; i++) {
   if (children[i] instanceof Lifecycle)
      ((Lifecycle) children[i]).start();
}

Is this interpretation correct? If not, could someone point me towards the
right direction?

My server.xml has over 300 hosts defined and startup time is getting pretty
big. There doesn't seem to be a difference in startup time between a quad
core server and a single core server. It appears to me this is because
startup of the hosts is sequential. In the best of all possible worlds it
would be nice if 4 cores means 4x faster startup.


George Sexton
MH Software, Inc.
303 438-9585
www.mhsoftware.com




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to