Tomcat source code analysis
This article introduces the relevant knowledge of "tomcat source code analysis". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!
The overall architecture of tomcat
. Tomcat activated the portal.
Public static void main (String args []) {synchronized (daemonLock) {if (daemon = = null) {/ / Don't set daemon until init () has completed Bootstrap bootstrap = new Bootstrap (); try {bootstrap.init ()
2. Init includes:
InitClassLoaders (); commonLoader = createClassLoader ("common", null); if (commonLoader = = null) {/ / no config file, default to this loader-we might be in a 'single' env. CommonLoader = this.getClass (). GetClassLoader ();} catalinaLoader = createClassLoader ("server", commonLoader); sharedLoader = createClassLoader ("shared", commonLoader)
3. Get the startupInstance after going to classloader
Class startupClass = catalinaLoader.loadClass ("org.apache.catalina.startup.Catalina"); Object startupInstance = startupClass.getConstructor () .newInstance ()
4. After start up is over
If (null = = daemon.getServer ()) {System.exit (1);} "tomcat source code analysis" ends here. Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!