这里有几种方法,从最简单到最全面:
sleep()
:TimeUnit.HOURS.sleep(24)
这种方法很简单,可以做24小时的工作和睡眠。实际上,这有点复杂,因为报告生成需要一些时间,因此您必须睡得更短。下面的所有解决方案都可以透明地进行处理。
java.util.Timer#scheduleAtFixedRate()
-简单的内置Java解决方案。@Scheduled
注释在春季或@Schedule
在EJB -更复杂也更强大,如接受的cron表达式:@Scheduled(fixedRate=DateUtils.MILLIS_PER_DAY)
public void generateReport() {
//…
}quartz-scheduler-具有集群和故障转移,失火处理,全面的cron支持等功能的全面Java调度程序。非常全面:
newTrigger().
withSchedule(
simpleSchedule().
withIntervalInHours(24).
repeatForever()
).build();
要么
newTrigger(). withSchedule( cronSchedule(). dailyAtHourAndMinute(17, 30). //17:30 ).build();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)