前提
Tomcat会先去读server.xml下配置的context标签的项目,之后会去加载conf/Catalina/localhost下面的.xml里面配置的项目,之后会去读取server.xml下配置的appBase下的项目。
即加载项目步骤:
1、server.xml的context项目
2、conf/Catalina/localhost的context项目
3、appBase的war包项目
4、appBase目录下的文件夹项目
需求
使用Tomcat时,涉及多个war包应用部署,war包之间又有先后启动依赖关系,所以需要控制war包加载顺序。
分析
版本(8.5.73)经测试,存放在webapps目录下的war包,启动Tomcat加载顺序为war包的ctime属性决定,时间戳最早优先启动。(若时间戳一致,则按字典顺序)
方案
在server.xml添加context项目控制应用加载顺序。
例:
在server.xml文件中host标签下配置hello-world.war和test.war的context
<Context docBase="/data/tomcat-8.5.73/test.war" path="/test"></Context>
<Context docBase="/data/tomcat-8.5.73/hello-world.war" path="/hello-world"></Context>
本文介绍了如何通过在Tomcat server.xml中配置context来控制多war包应用的加载顺序,重点关注了ctime属性对启动顺序的影响。

968

被折叠的 条评论
为什么被折叠?



