tomcat quartz 被触发两次
2014-10-28 17:00
351 查看
主要原因为tomcat server.xml 配置问题
在
中会自动查询webapps中的项目,自动发布,而在
中再次定义了项目加载路径,会造成项目再次加载,从而导致项目初始化两次,如果里面理由quartz定时任务,也自然会执行两次了。
1. autodeploy属性值设置为false,如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用,设成false就不会。
2.增加deployOnStartup="false",表示Tomcat服务器启动时, 不会自动发布appBase目录下所有的Web应用。这样的话,在tomcat启动时,不会自动发布appBase下的应用,启动后也不会自动发步appBase下的应用。
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> <Context docBase="/logstat" path="" reloadable="true" source="org.eclipse.jst.jee.server:logstat"/>
在
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
中会自动查询webapps中的项目,自动发布,而在
<Context docBase="/logstat" path="" reloadable="true" source="org.eclipse.jst.jee.server:logstat"/>
中再次定义了项目加载路径,会造成项目再次加载,从而导致项目初始化两次,如果里面理由quartz定时任务,也自然会执行两次了。
docBase:项目路径
path:项目发布后的访问路径,设为空主要为了访问时候不需要加项目名,使用域名直接访问。 解决方法:
1. autodeploy属性值设置为false,如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用,设成false就不会。
2.增加deployOnStartup="false",表示Tomcat服务器启动时, 不会自动发布appBase目录下所有的Web应用。这样的话,在tomcat启动时,不会自动发布appBase下的应用,启动后也不会自动发步appBase下的应用。
相关文章推荐
- quartz启动两次(tomcat)
- tomcat中quartz被执行两次
- tomcat中的quartz定时任务每次都被执行了两次
- 解决Quartz定时任务被触发两次的问题(附带:Quartz的测试用例)
- quartz的任务在tomcat下被调用两次的问题
- Spring 解决Quartz定时任务被触发两次的问题
- 解决Quartz定时任务被触发两次的问题(附带:Quartz的测试用例)
- Tomcat加载两次问题
- Spring整合quartz关闭,关闭Tomcat Servlet容器时内存泄漏
- quartz 两次执行问题
- SpringMVC整合Quartz实现定时任务以及Tomcat服务执行初始化定时任务
- Quartz入门实例5-处理因执行job超时而错过触发的job
- 项目部署到tomcat Root中后导致 WebApplicationContext 初始化两次的解决方法
- Tomcat增加Context配置导致启动的时候项目加载两次
- tomcat项目重载 ,同一个项目初始化两次,同时执行两个进程
- window.onresize或者$(window).resize()触发两次
- spring quartz执行两次
- Quartz在spring中配置,被调用两次的处理办法
- 重写UILabler的sizeThatFits方法,需要触发两次才会有效果
- Quartz 定时任务设置某个时间区间每隔一定时间触发的cron表达式