tomcat 在Spring boot 中的启动时机

2020-08-04

之前遇到一个问题,我们需要在Spring Boot 启动后做一些配置表刷新的工作,这个刷新比较耗时

于是,我们实现了 xxRunner implements CommandLineRunner

但发现一个问题,配置还未刷新,tomcat就对外服务了

近来正在阅读源码,在源码里找到了答案

image-20200804182127760

image-20200804182410041

简单来看,Tomcat 在 refreshContext 的时候便创建了,而 CommandLineRunner 的调用却在最后。

但在 onRefresh 的时候,tomcat 只是完成了注册操作,并没有真的启动,真的启动函数其实是 finishRefresh 并且在这里发布事件

image-20200804182750225

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章