Java Timer类问题 - 在代码部署时Timer再次启动

时间:2017-10-13 15:22:17

标签: java timer

我有以下代码,在服务器启动或新部署时,在web.xml中从init调用SchedularMain类。代码将在服务器启动/部署5分钟后执行任务,并按照逻辑在24小时后重复执行任务。

问题:如果代码在24小时间隔内被部署两次或三次,则任务生成两次或三次,而不是仅在24小时周期内生成一次。由于每次都重新启动调度程序。我该如何防止这个问题。

要求:我希望每周三下午3点IST进行任务,代码不应该依赖于如上所述的部署/服务器重启问题。请帮忙。

public class SchedulerMain {
   public void startMethod(){

   long ONCE_PER_DAY = 1000*60*60*24;

   Timer timer = new Timer(); // Instantiate Timer Object
   ScheduledTask st = new ScheduledTask(); // Instantiate SheduledTask class        
   timer.schedule(st, 1000*60*60*5, ONCE_PER_DAY);// Create Repetitively task for every 24hours.

    }
}

0 个答案:

没有答案