Quartz运行一次

时间:2012-12-03 07:28:05

标签: java spring maven quartz-scheduler

使用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();
    }

}  

1 个答案:

答案 0 :(得分:1)

由于您使用Spring标记了您的问题,我假设您正在使用它。 您应该查看Spring 3中有关安排here的更改。

另一方面,当然可以使用纯Quartz实现,可能我会使用CronTrigger的cron表达式,如下所示:

0/2 * * * * *