Java经常性任务,日期问题

fat*_*zzy 3 java concurrency scheduled-tasks

我试图在java中设置一个计划任务,一天运行一次.
问题是它只在第一天运行.
有什么想法吗?
谢谢

log.info("Schdualing midnight task");
    Timer timer = new Timer();
    Calendar date = Calendar.getInstance();

    date.set(Calendar.HOUR_OF_DAY, 23);
    date.set(Calendar.MINUTE, 30);
    date.set(Calendar.SECOND, 0);

    timer.schedule(new EndOfDayRatesTimerTask(new MidnightQuotesEvent()),
            date.getTime());
Run Code Online (Sandbox Code Playgroud)

eri*_*son 5

请改用scheduleAtFixedRate().例如,

TimerTask task = new EndOfDayRatesTimerTask(new MidnightQuotesEvent());
timer.scheduleAtFixedRate(task, date.getTime(), TimeUnit.DAYS.toMillis(1));
Run Code Online (Sandbox Code Playgroud)