您的位置:首页 > 运维架构 > Tomcat

tomcat quartz 被触发两次

2014-10-28 17:00 351 查看
主要原因为tomcat server.xml 配置问题

<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下的应用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: