2011-05-10 190 views
5

我們使用Cron4j java調度程序來調度每晚執行的作業。現在,當在客戶站點的集羣(2個節點)上部署相同的Web應用程序(Tomcat)時,作業將運行兩次。有什麼辦法可以避免這個問題嗎?計劃作業在羣集上執行兩次

+1

您是否考慮過將您的調度程序獨立運行而不是Tomcat集羣的一部分? – Sean 2011-05-10 13:37:33

回答

2

我相信這樣做的唯一方法是使用一些外部共享狀態,例如在數據庫中提供一些鎖定。

-1

解決這個問題的方法之一就是讓webapp接受一個參數,例如runCronjobs。您可以將相關條目放在web.xml或其他某個配置文件中。

所以一個webapp將這個值設置爲true,其他部署將它設置爲false