tomcat项目启动过程

1、startup 读取配置文件配置的jar,lib下的jar,环境变量配置的jar。
2、catalina 读取tomcat内置的用户管理界面,读取配置tomcat-user.xml。
3、读取server.xml,根据层级关系设置到services对象中。每个节点都有自己的listener(用来根据配置,不同节点执行不同的代码)。
4、执行service下配置的Listener
5、执行Connector初始化
6、初始化流程结束,开始启动流程,注册MBean到JMX
7、StandardService start 执行本身listener
8、StandardEngine start 执行本身listener .读取/conf/tomcat5-mbeans.xml
9、StandardHost start 执行本身listener
10、StandardPipeline start 执行本身listener
11、HostConfig读取host-manager.xml, manager.xml
12、发布war工程文件
13、启动webapp的工程
14、listeners->filter->servlet,代码如下:

try {

// Create context attributes that will be required
if (ok) {
postWelcomeFiles();
}

// Set up the context init params
mergeParameters();

if (ok) {
// Notify our interested LifecycleListeners
lifecycle.fireLifecycleEvent(AFTER_START_EVENT, null);
}

// Configure and call application event listeners
if (ok) {
if (!listenerStart()) {
log.error( "Error listenerStart");
ok = false;
}
}

try {
// Start manager
if ((manager != null) && (manager instanceof Lifecycle)) {
((Lifecycle) getManager()).start();
}

// Start ContainerBackgroundProcessor thread
super.threadStart();
} catch(Exception e) {
log.error("Error manager.start()", e);
ok = false;
}

// Configure and call application filters
if (ok) {
if (!filterStart()) {
log.error( "Error filterStart");
ok = false;
}
}

// Load and initialize all "load on startup" servlets
if (ok) {
loadOnStartup(findChildren());
}

} finally {
// Unbinding thread
unbindThread(oldCCL);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值