置了个定时抓取任务,结果总是抓取三次
从Tomcat的log上看到该任务所在的Context有三次启动的过程,计划任务也被创建了三次
从Tomcat的log上看到该任务所在的Context有三次启动的过程,计划任务也被创建了三次
问题原来出在Host的appBase设置上,原来的设置是这样的
<
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 >
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了
<
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 >
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 >