使用Quartz框架来安排工作。我想每2秒重复一次这个操作。但它似乎只执行一次。我如何让它永远运行!
public static void main(String[] args) throws InterruptedException {
//ChangingRatesSimulator.doSimulation();
try {
// Grab the Scheduler instance from the Factory
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// and start it off
scheduler.start();
JobDetail job = newJob(ChangingRatesSimulator.class).withIdentity("job1","group1").build();
// compute a time that is on the next round minute
Date runTime = evenSecondDate(new Date());
// Trigger the job to run on the next round minute
Trigger trigger = newTrigger()
.withIdentity("trigger1", "group1")
.startAt(runTime)
.withSchedule(simpleSchedule()
.withIntervalInSeconds(5)
.repeatForever())
.build();
scheduler.scheduleJob(job, trigger);
scheduler.start();
} catch (SchedulerException se) {
se.printStackTrace();
}
}
答案 0 :(得分:1)
由于您使用Spring标记了您的问题,我假设您正在使用它。 您应该查看Spring 3中有关安排here的更改。
另一方面,当然可以使用纯Quartz实现,可能我会使用CronTrigger的cron表达式,如下所示:
0/2 * * * * *