需求
tomcat下有两个应用 假设aa.war应用 和 bb.war应用
tomcat再无任何配置的情况下
默认会按文件名字典顺序启动,也就是 aa->bb 的启动顺序
如果aa.war应用依赖于bb.war应用,想按照 bb->aa 的启动顺序怎么办?
分析
tomcat的默认加载方式:
tomcat先加载 conf/server.xml配置文件下的Context元素的,然后是处理webapps下的war应用,接着是文件夹列表(appBase.list()))
假设server.xml中只配了一个Context
<Context docBase="cc" path="/cc"></Context>
webapps 下有
aa
bb.war
cc
dd (这个顺序是系统固定的,系统是按字典顺序排的)
那按上述分析启动顺序是 cc, bb, aa, dd
解决方案
按照以上分析 我们只需要在tomcat目录下conf/server.xml中配置context就可以解决了
在server.xml文件中host标签下配置aa.war和bb.war的context
<Context docBase="E:\apache-tomcat-7.0.94\webapps\bb.war" path="/bb"></Context>
<Context docBase="E:\apache-tomcat-7.0.94\webapps\aa.war" path="/aa"></Context>