解决Tomcat下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>

改成不设置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>
标签:, , , , ,

相关日志

给Tomcat的Connector设置URIEncoding

<Connector port="8080"
        #####Other parameters#####
        URIEncoding="UTF-8"  />

如果不设置,URL上传递的中文就不能被正确解码
在我测试的情况下即使我预先用URLEncoder进行了encode处理也无法正确解析,折腾了我老半天

标签:, , , ,

相关日志

京ICP备05059555号