1. 程式人生 > >Spring 定時任務執行兩次 解決辦法

Spring 定時任務執行兩次 解決辦法

先說原因,看到同一個任務執行兩次,而且是並行執行,同一時間點執行的程式碼輸出一樣,網上查了資料,原因是因為下面兩段程式碼

<init-param>
      <description>spring mvc 配置檔案</description>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring-mvc.xml</param-value>
 </init-param>
<context-param
> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-*.xml</param-value> </context-param>

SpringMVC中再web.xml中有上面兩行程式碼片,我的定時器配置在spring-mvc.xml,在專案啟動的時候掃描了兩遍配置檔案,也就是兩個容器中都拿到了定時器。

解決方法:單獨把定時器配置檔案new出來一個spring-quarz.xml,然後就可以了,其他部落格說修改tomcat中的配置檔案,把appBase=’webapps’ 設定為appBase=”,反正我試過沒用。