tomcat中quartz被执行两次

做项目中 在整合另外一个模块之前,放在tomcat中是执行正常的;

整合另外一个模块的时候,在web.xml中添加了一些<filter></filter>,在放到tomcat中quartz就会被执行两次。

在网上查的:

web容器启动的时候,读取applicationContext.xml文件时,会加载一次。
第二次:Spring本身会加载applicationContext.xml一次。
一般来说,我们的quartz配置就是写在applicationContext.xml文件里的。
解决办法很简单
先把quartz配置信息提取出来,单独存成一个文件,比如applicationContext-quartz.xml
然后修改web.xml,让web容器启动时,可以加载该文件:
 <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:/applicationContext.xml,classpath*:/applicationContext-quartz.xml<param-value>
  </context-param>
  <listener>
       <listener-class>
           org.springframework.web.context.ContextLoaderListener
       </listener-class>
   </listener>这样quartz只会在web容器启动时加载一次,Spring不会再加载了。

这样我的问题解决了,但最后发现我的问题不是被这个方案解决的,这个方案之后帮助我把quartz   从applicationContext.xml文件中抽出来(原来是import进去的)

问题的原因在于 整合另一个模块的中有手动加载过applicationContext.xml文件,所以造成又一次注入quartz.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值