tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konstantin Kolinko" <>
Subject Re: Confused about startup
Date Wed, 24 Oct 2007 19:27:21 GMT

I can say you a few words about this bootstrap class. I remember how I
was proud, when I managed to decypher what it actually does. It was a
year ago, but it is still a good memory. ;)  It's an excellent piece.
I hope that in a while you will be able to share these feelings of

In essence, it parses (either the default copy of
it, or the one available in the conf folder), sets up a chain of
classloaders (see, and
starts the server.

Most of the work is done through reflection calls.

JMX test at the begin of Bootstrap.main() (in tomcat 5.5 only) is
required, because JMX is used to manage tomcat instance. Thus there is
a quick test, and a message if the test fails.

Please note, that specifies patterns, e.g.
${catalina.home}/common/lib/*.jar, but ClassLoader instance requires
references to actual jar files, thus some lookup is performed to get
the actual names from the pattern.

The startup sequence description in
is correct. It is not a simple matter though.

The comment for Bootstrap.main( ) is, well, misleading.
Both in 5.5.25 and 6.0.14 sources.
Should someone provide a patch for this?

Actually, the Bootstrap class is not so important. The more important
class is org.apache.catalina.startup.Catalina, and its main(args)
method is commented as being the entry point.

2007/10/24, Lyallex <>:
> Hmm, obviously this was "not an acceptable question" ... shame.
> Still, I have now managed to get 5.5.25 to build and run and when I
> put some simple debug in Bootstrap.main() it does indeed appear that
> this method is being called.
> Still slightly confused as to why this method is commented as
> /**
>      * Main method, used for testing only.
>      *
>      * @param args Command line arguments to be processed
>      */
> Ah well, it's all character building stuff I suppose.
> On 10/24/07, Lyallex <> wrote:
> > Hello
> >
> > Windows XP SP2
> > Java 1.5.0_10
> > Tomcat 5.5.25
> >
> > After many years using Tomcat to host various web sites I thought it
> > was about time I started looking at some of the code. I downloaded the
> > source for 5.5.25 and thought I'd start at the beginning and figure
> > out what happens when I start the server from the command line..
> > After deciphering the batch files (catalina.bat, startup.bat and
> > setclasspath.bat) I figured out that the class being invoked was
> > org.apache.catalina.startup.Bootstrap with the command line param
> > start ... Well that's about as far as I get because I just can't
> > figure out the entry point. I know that an instance of
> > org.apache.catalina.startup.Catalina is being instantiated and invoked
> > eventually but the main method in Bootstrap is apparently only used
> > for testing.
> > At least that what he comments state ... but main must be being called
> > mustn't it ...  If main is not being called in Bootstrap how do things
> > kick off... I'm a bit distressed that I can't figure this out. I
> > haven't got around to building the distribution yet.
> >
> > I've read
> > but I'm still at a loss, maybe I'm getting too old for all this or
> > maybe I'm just tired ...
> >
> > Thanks
> >
> ---------------------------------------------------------------------
> To start a new topic, e-mail:
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To start a new topic, e-mail:
To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message