如何使用弹簧配置的石英运行几个计划

时间:2012-06-29 02:32:49

标签: spring quartz-scheduler

在我的情况下,允许客户安排工作。我可以看到,quartz通常使用cronExpression来执行计划。但是有许多客户有很多时间表,我不能写很多触发器bean因为我不知道有多少时间表,这取决于客户端。那么,有人会帮忙吗?

1 个答案:

答案 0 :(得分:0)

Quartz旨在在运行时添加和删除作业和触发器。 Spring是一个退化的案例,其中所有触发器和作业都是在启动时定义的。在Quartz中,当拥有Scheduler实例时,您可以根据自己的意愿轻松创建,浏览和删除触发器,例如How-To: Scheduling a Job

// Define job instance
JobDetail job1 = newJob(ColorJob.class)
    .withIdentity("job1", "group1")
    .build();

// Define a Trigger that will fire "now", and not repeat
Trigger trigger = newTrigger()
    .withIdentity("trigger1", "group1")
    .startNow()
    .build();

// Schedule the job with the trigger 
schedulder.scheduleJob(job, trigger);

请参阅official documentation,尤其是cookbook

还要区分作业(包含在应该执行的类中的一段代码)和触发器(执行作业的时间条件)。请记住,默认情况下,当与作业关联的最后一个触发器(作业可能有多个触发器)触发时,作业将从调度程序中删除。