Java Quartz 2.2.1 - Schedule

时间:2015-01-07 09:56:29

标签: quartz-scheduler

以下代码每60秒触发一次。

如何更改它以便它每天凌晨4点触发一次。

我使用的是使用Tomcat 7.0.53的Quartz 2.2.1

Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("TestTrigger", "group1")
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(interval_seconds).repeatForever())
.build();

我查看了文档exmaples,但一直收到错误。

3 个答案:

答案 0 :(得分:0)

你可以使用startAt(Date triggerStartTime)方法和你想要的时间(凌晨4点),然后每24小时重复一次

     Trigger trigger = newTrigger() 
         .withSchedule(simpleSchedule()
             .withIntervalInHours(24)
             .repeatForever())
         .startAt(new SimpleDateFormat("dd/MM/yyyy hh:mmaaa").parse("24/01/2015 04:00AM"))
         .build();

答案 1 :(得分:0)

使用Cron-based Trigger

Trigger trigger = TriggerBuilder.newTrigger() 
   .withSchedule(cronSchedule("0 0 4am * * ?"))
   .build();

答案 2 :(得分:0)

如果您想要一种更简单的方法来创建日期,请使用DateBuilder创建包含所需参数的日期。 dateOf(或todayAt)应该可以工作。

类似的东西:

.startAt(DateBuilder.dateOf(4, 0, 0))