如何防止多次调度cron任务

时间:2014-02-25 15:22:40

标签: java tomcat servlets cron4j

我在tomcat下使用cron4j 我在servlet中启动调度

doGet(){
  ...
  S.start();
  ...
}

即使我不小心再次调用此servlet,我如何防止多次启动此cron任务?

1 个答案:

答案 0 :(得分:0)

如前所述,最好使用ServletContextListenerServlet.init()方法进行一次性初始化代码。但是,如果您想要一个答案,那么如何从doGet()只执行一次,然后在servlet中声明名为int counter=0的变量和实例变量。首次调用doGet()时,请counter=1。检查计数器值,如果> 0,则不要再次初始化。您可以使用synchronized块来递增值或将其声明为volatile,以使其更具花哨性。