* start()
* -----------------------------
* | |
* | init() |
* NEW -»-- INITIALIZING |
* | | | | ------------------«-----------------------
* | | |auto | | |
* | | |/ start() |/ |/ auto auto stop() |
* | | INITIALIZED --»-- STARTING_PREP --»- STARTING --»- STARTED --»--- |
* | | | | |
* | |destroy()| | |
* | --»-----«-- ------------------------«-------------------------------- ^
* | | | |
* | | |/ auto auto start() |
* | | STOPPING_PREP ----»---- STOPPING ------»----- STOPPED -----»-----
* | |/ ^ | ^
* | | stop() | | |
* | | -------------------------- | |
* | | | | |
* | | | destroy() destroy() | |
* | | FAILED ----»------ DESTROYING ---«----------------- |
* | | ^ | |
* | | destroy() | |auto |
* | --------»----------------- |/ |
* | DESTROYED |
* | |
* | stop() |
* ---»------------------------------»------------------------------
tomcat大部分组件都实现了LifeCycle.即组件都具备生命周期。
生命周期包含四个阶段: init初始化 start启动 stop停止 destory销毁
组件可以进行状态转化。 初始化可以转为销毁、启动; 启动可以转为停止; 停止可以转为启动、销毁; 初始化、启动和停止都可以的失败,失败都进入到销毁。