spring-task定時任務執行兩次解決方案

之前在做項目時用到了spring-task ,但是在使用過程中發現定時任務會執行兩次。今天偶然間在瀏覽博客時發現瞭解決方案,在這暫作記錄,有機會進行測試,同時如果有網友使用瞭如下解決辦法,希望也在評論中給出測試結果。

-------------------------------------------------------------------------------------------------------------------------------------

到指定時間後,任務總是執行2次的解決方案:

這是因爲我們很容易在一個基於Spring的Web工程中啓動2個定時線程:

第一次:web容器啓動的時候,讀取applicationContext.xml(或者別的Spring核心配置文件)文件時,會加載一次。


第二次:Spring本身會加載applicationContext.xml(或者別的Spring核心配置文件)一次。

 

解決方案:將你的Task的相關配置獨立出來並在web.xml中通過context-param加載。而不是通過spring加載。

1) 獨立出Spring-Task,如新命名一個文件名叫cms_quartz.xml

2)    在web.xml中去加載該文件:

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/cms-servlet.xml,classpath:cms-quartz.xml</param-value>
    </context-param>

Tomcat啓動時項目重複加載,導致資源初始化兩次的問題

http://blog.csdn.net/testcs_dn/article/details/38855641

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章