天天看點

Quartz定時被二次觸發的問題

其中<host/>告訴tomcat,在啟動的時候加載webapps下的所有項目工程檔案,<context/>又讓tomcat再加載了一遍(一般情況下配置<context/>,主要是由于想域名通路時将工程名去掉的原因配置),這種情況下會導緻工程中的quartz定時被兩次觸發,執行兩次。

  <host/>裡面的改成 autodeploy="false" deployonstartup="false" 這樣就可以避免tomcat伺服器中自啟動導緻quartz定時任務被觸發兩次。(當然還可以按需求修改,畢竟每個項目的需求都不盡相同。)

    1. autodeploy屬性值設定為false,如果此項設為true,表示tomcat服務處于運作狀态時,能夠監測appbase下的檔案,如果有新有web應用加入進來,會自運釋出這個web應用,設成false就不會。

    2.增加deployonstartup="false",表示tomcat伺服器啟動時, 不會自動釋出appbase目錄下所有的web應用。

    這樣的話,在tomcat啟動時,不會自動釋出appbase下的應用,啟動後也不會自動發步appbase下的應用。

繼續閱讀