我在tomcat下使用cron4j 我在servlet中启动调度
doGet(){
...
S.start();
...
}
即使我不小心再次调用此servlet,我如何防止多次启动此cron任务?
答案 0 :(得分:0)
如前所述,最好使用ServletContextListener
或Servlet.init()
方法进行一次性初始化代码。但是,如果您想要一个答案,那么如何从doGet()
只执行一次,然后在servlet中声明名为int counter=0
的变量和实例变量。首次调用doGet()
时,请counter=1
。检查计数器值,如果> 0,则不要再次初始化。您可以使用synchronized块来递增值或将其声明为volatile,以使其更具花哨性。