Tomcat 系列篇五-介绍下 Service 启动过程

Tomcat 系列篇五-介绍下 Service 启动过程

💡 原文中文,约4000字,阅读约需10分钟。
📝

内容提要

本文介绍了Tomcat的启动过程,包括启动Service、Engine、线程池、mapperListener和Connector等组件。其中,Connector的添加需要先锁定,然后重新申请一个数组,再进行拷贝,最后将新添加的放到数组最后。另外,设置Engine时需要先将旧的Engine的Service设置为null,再将新的Engine的Service设置为当前的Service。最后,本文提到Tomcat的一大特点是通过Lifecycle的接口和模板方法调用实际的实现层的方法。

🎯

关键要点

  • Tomcat的启动过程包括启动Service、Engine、线程池、mapperListener和Connector等组件。
  • Connector的添加需要先锁定,然后重新申请一个数组,再进行拷贝,最后将新添加的放到数组最后。
  • 设置Engine时需要先将旧的Engine的Service设置为null,再将新的Engine的Service设置为当前的Service。
  • Tomcat通过Lifecycle的接口和模板方法调用实际的实现层的方法,这是其一大特点。
  • 在启动过程中,首先设置状态,然后启动Engine、线程池、mapperListener和Connector。
  • 添加Connector时,需判断当前状态是否可用,如果可用则启动Connector,并触发变更事件。
  • 设置Engine时,需先将旧Engine的Service设置为null,然后启动新的Engine,并重启mapperListener。
➡️

继续阅读