解决Tomcat下Context重复启动

配置了个定时抓取任务,结果总是抓取三次
从Tomcat的log上看到该任务所在的Context有三次启动的过程,计划任务也被创建了三次

问题原来出在Host的appBase设置上,原来的设置是这样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<Host name="www.xxx.com" appBase="/usr/local/projects/xxx/"
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="web" path="" reloadable="true" workDir="work">
<!-- Others -->
</Context>
</Host>
<Host name="admin.xxx.com" appBase="/usr/local/projects/xxx/"
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="admin" path="" reloadable="true" workDir="work">
<!-- Others -->
</Context>
</Host>

改成不设置appBase,只对指定的Context设置docBase就ok了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<Host name="www.xxx.com" appBase=""
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/projects/xxx/web" path="" reloadable="true" workDir="work">
<!-- Others -->
</Context>
</Host>
<Host name="admin.xxx.com" appBase=""
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/projects/xxx/admin" path="" reloadable="true" workDir="work">
<!-- Others -->
</Context>
</Host>

显示 Gitment 评论