每天运行一次计划任务

mil*_*ind 2 java

我的要求是我想安排一个应该每天运行一次的任务。为此,我使用以下代码:

public class setAutoReminder {
    EscalationDAO escalationDAO=new EscalationDAO();
    final  SendMail sendMail=new SendMail();
    public void fetch(){
        Date date=new Date();
        Timer timer = new Timer();


        timer.schedule(new TimerTask(){
            public void run(){
                int number=escalationDAO.getAutoReminder();
                System.out.println(number);
                if(number>0) {
                    sendMail.sendMail();
                }
            }
        },date, 1000000000);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码运行多次。我希望它每天运行一次。我该怎么办?

K. *_*ddy 5

如果你没有很多预定的工作,那么不要添加所有的 Spring 包。把事情简单化。

Date date=new Date();
Timer timer = new Timer();

timer.schedule(new TimerTask(){
     public void run(){
          System.out.println("Im Running..."+new Date());
     }
},date, 24*60*60*1000);//24*60*60*1000 add 24 hours delay between job executions.
Run Code Online (Sandbox Code Playgroud)

这将做的东西。

-湿婆