tomcat启动源码(1)
2016-09-06 00:00
302 查看
摘要: tomcat启动
tomcat启动流程
1.入口函数就是BootStrap--main方法
2.初始化并启动
-----创建BootStrap对象,调用init方法完成初始化
setCatalinaHome();--设置home目录:逻辑:如果设置了catalina.home属性,就用这个,如果没有就用user.dir(用户根目录)作为home目录,自动设置catalina.home
setCatalinaBase()---设置base目录(也就是项目默认目录):逻辑如果设置了catalina.base,就用这个,否则就用跟catalina.home相同的目录
initClassLoaders()---初始化classload类加载器,tomcat有自己的类加载器StandardClassLoader,用来加载web项目
Thread.currentThread().setContextClassLoader(catalinaLoader)---将catalinaLoader类加载器设置到当前线程中去
startupClass.newInstance()--使用自定义的类加载器加载Catalina类,并通过反射创建对象
startupInstance.getClass().getMethod(methodName, paramTypes)---通过反射给Catalina对象设置父setParentClassLoader类加载器,值就是StandardClassLoader
catalinaDaemon = startupInstance----catalina守护进程赋予Catalina对象
-----根据传入的参数 start stop启动或停止服务
daemon.setAwait(true);---通过反射执行Catalina对象的setAwait方法,等待
daemon.load(args)---通过反射执行Catalina对象的load方法,参数就是start--stop
daemon.start()---通过反射执行Catalina对象的start方法
tomcat启动流程
1.入口函数就是BootStrap--main方法
2.初始化并启动
-----创建BootStrap对象,调用init方法完成初始化
setCatalinaHome();--设置home目录:逻辑:如果设置了catalina.home属性,就用这个,如果没有就用user.dir(用户根目录)作为home目录,自动设置catalina.home
setCatalinaBase()---设置base目录(也就是项目默认目录):逻辑如果设置了catalina.base,就用这个,否则就用跟catalina.home相同的目录
initClassLoaders()---初始化classload类加载器,tomcat有自己的类加载器StandardClassLoader,用来加载web项目
Thread.currentThread().setContextClassLoader(catalinaLoader)---将catalinaLoader类加载器设置到当前线程中去
startupClass.newInstance()--使用自定义的类加载器加载Catalina类,并通过反射创建对象
startupInstance.getClass().getMethod(methodName, paramTypes)---通过反射给Catalina对象设置父setParentClassLoader类加载器,值就是StandardClassLoader
catalinaDaemon = startupInstance----catalina守护进程赋予Catalina对象
-----根据传入的参数 start stop启动或停止服务
daemon.setAwait(true);---通过反射执行Catalina对象的setAwait方法,等待
daemon.load(args)---通过反射执行Catalina对象的load方法,参数就是start--stop
daemon.start()---通过反射执行Catalina对象的start方法
相关文章推荐
- tomcat 4.1.30启动过程的源码分析
- TOMCAT源码分析(启动框架)
- Tomcat源码分析(一)--服务启动
- TOMCAT源码分析(启动框架)
- [Tomcat6.0源码]组件的启动
- TOMCAT源码分析(启动框架)
- tomcat源码分析(二)启动---Debug方式
- tomcat源码---启动过程分析
- TOMCAT源码分析(启动框架)
- Tomcat源码分析(七)--单一启动/关闭机制(生命周期)
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- Tomcat6源码启动分析
- tomcat 4.1.30启动过程的源码分析
- tomcat 4.1.30启动过程的源码分析
- TOMCAT源码分析(启动框架)
- Tomcat源码分析(七)--单一启动/关闭机制(生命周期)
- Tomcat 启动过程源码解析(一)