如何走进Tomcat源码的探究

来源:互联网 发布:python中 变量类型 编辑:程序博客网 时间:2024/05/13 13:09

Tomcat架构庞大而灵活,如果要研究源码,开头没有一个好的方法总会感觉越搞越乱,本文就笔者阅读tomcat源码的一些经验分享给大家。

根据经验,要想全局把握源码,第一步总是应该找到main方法(有的容器没有给出main方法,很有可能启动方式是在静态初始化块里)。如下图startup.sh文件中会启动org.apache.catalina.startup.Bootstrap的main方法,main方法参数为start


在org.apache.catalina.startup.Bootstrap的main方法中加载Catalina的loard方法


其中daemon就是Catalina的实例,Catalina会在loard方法中根据server.xml中的配置生成所t需要的对象如Server、Service、Connector等,这里使用了一款能够将xml转换为Java对象的事件驱动工具Digester。在loard方法中我们看到,首先生成Digester驱动工具,再将server.xml文件的配置转换为对象树


下面我们再看看创建Digester的过程,也就是上图中的createStartDigester方法


我们看到Digester加载了tomcat架构所需要的所有类信息,接下来就是具体组件的启动问题了

原创粉丝点击