Java循环任务,日期问题

标签 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());

最佳答案

使用scheduleAtFixedRate()反而。例如,

TimerTask task = new EndOfDayRatesTimerTask(new MidnightQuotesEvent());
timer.scheduleAtFixedRate(task, date.getTime(), TimeUnit.DAYS.toMillis(1));

关于Java循环任务,日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3452218/

相关文章:

Java 并发实践 list 6.2

c - 家庭作业 - 一台服务器通过信号量和共享内存为多个客户端提供服务

algorithm - 有什么算法可以在用户之间分配工作,确保所有人至少有 "nice work"吗?

c# - 当由一组信用下的计划任务启动的进程在另一组信用下运行另一个程序时,Windows 是否有限制

scheduled-tasks - 任务计划程序错误代码需要翻译

java - 获取有关 SQL 更新记录的详细信息

java - bean ……它到底是什么

multithreading - Golang 如何在 goroutine 之间共享变量?

java - 静态同步方法上的锁定是否会影响其实例的非静态同步方法?

java - PSI 和索引不匹配 : PSI and index do not match on Android Studio