Hi, 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 joy.
In essence, it parses catalina.properties (either the default copy of it, or the one available in the conf folder), sets up a chain of classloaders (see http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html), 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 catalina.properties 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 http://tomcat.apache.org/tomcat-5.5-doc/architecture/startup/serverStartup.txt 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 <[EMAIL PROTECTED]>: > 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 <[EMAIL PROTECTED]> 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 > > http://tomcat.apache.org/tomcat-5.5-doc/architecture/startup/serverStartup.txt > > 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: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]