安排在24小时间隔

安排在24小时间隔,第1张

安排在24小时间隔

这里有几种方法,从最简单到最全面:

  1. sleep()
    TimeUnit.HOURS.sleep(24)

这种方法很简单,可以做24小时的工作和睡眠。实际上,这有点复杂,因为报告生成需要一些时间,因此您必须睡得更短。下面的所有解决方案都可以透明地进行处理。

  1. java.util.Timer#scheduleAtFixedRate()
    -简单的内置Java解决方案。

  2. @Scheduled
    注释在春季或
    @Schedule
    在EJB -更复杂也更强大,如接受的cron表达式:

    @Scheduled(fixedRate=DateUtils.MILLIS_PER_DAY)

    public void generateReport() {
    //…
    }

  3. quartz-scheduler-具有集群和故障转移,失火处理,全面的cron支持等功能的全面Java调度程序。非常全面:

    newTrigger().

    withSchedule(
    simpleSchedule().
    withIntervalInHours(24).
    repeatForever()
    ).build();

要么

    newTrigger().  withSchedule(    cronSchedule().      dailyAtHourAndMinute(17, 30).  //17:30    ).build();


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5135883.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存