tomcat中的quartz定时任务每次都被执行了两次
2017-02-28 18:15
232 查看
这两天发现部署到tomcat中的quartz定时任务每回都被执行了两次,但是在myeclipse执行时又不会,后来搜了网上,才发现该问题只发生于部署在tomcat服务器上,由tomcat的自启动导致。
导致该问题的原因是你的tomcat的conf目录中的server.xml有如下配置
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="C:\Program Files\Tomcat 6.0\webapps\XXX\" workDir="C:\Program Files\Tomcat 6.0\webapps\XXX\" />
其中第一行告诉tomcat,在启动的时候加载webapps下的所有项目工程文件,第二行又让tomcat再加载了一遍(一般情况下配置第二行,主要是由于想域名访问时将工程名去掉的原因配置),这种情况下会导致工程中的quartz定时被两次触发,执行两边。
因此修改方法如下
<Host name="localhost" appBase=""
unpackWARs="false" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="C:\Program Files\Tomcat 6.0\webapps\XXX\" workDir="C:\Program Files\Tomcat 6.0\webapps\XXX5xun5mi\" />
将第一行中的appbase中的值去除,且autodeploy属性值设置为false,因此该行不会导致任何工程项目的加载。
导致该问题的原因是你的tomcat的conf目录中的server.xml有如下配置
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="C:\Program Files\Tomcat 6.0\webapps\XXX\" workDir="C:\Program Files\Tomcat 6.0\webapps\XXX\" />
其中第一行告诉tomcat,在启动的时候加载webapps下的所有项目工程文件,第二行又让tomcat再加载了一遍(一般情况下配置第二行,主要是由于想域名访问时将工程名去掉的原因配置),这种情况下会导致工程中的quartz定时被两次触发,执行两边。
因此修改方法如下
<Host name="localhost" appBase=""
unpackWARs="false" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="C:\Program Files\Tomcat 6.0\webapps\XXX\" workDir="C:\Program Files\Tomcat 6.0\webapps\XXX5xun5mi\" />
将第一行中的appbase中的值去除,且autodeploy属性值设置为false,因此该行不会导致任何工程项目的加载。
相关文章推荐
- spring定时任务执行两次及tomcat部署缓慢问题的解决方法
- 关于tomcat发布项目重复执行两次定时任务问题
- spring quartz 定时任务执行两次的问题
- quartz 定时任务 执行两次
- quartz 应用到 spring定时任务 执行两次
- SpringMVC整合Quartz实现定时任务以及Tomcat服务执行初始化定时任务
- spring定时任务被执行两次的问题,原来是tomcat重复发布导致的
- 解决spring定时任务执行两次和tomcat部署缓慢的问题
- SSH:解决Spring整合quartz定时任务执行两次问题
- SSH中使用quartz定时任务,执行两次解决办法
- Tomcat启动后加载两次web.xml的问题(因为spring定时任务执行了俩次,引出此问题)
- SpringMVC整合Quartz实现定时任务以及Tomcat服务执行初始化定时任务
- .NET 定时执行任务解决方案(Timer & Quartz.Net)
- 程序设置了多个定时任务,AlarmManager每次都执行第一次出发的那个
- 单例模式使用 Quartz.Net执行定时任务
- 用Quartz处理定时执行的任务
- tomcat中quartz被执行两次
- quartz定时放在服务器上莫名其妙的执行两次
- Tomcat 执行定时任务
- 解决Quartz定时任务被触发两次的问题(附带:Quartz的测试用例)