0

在我的情况下,允许客户安排工作。如我所见,quartz 经常使用 cronExpression 来执行计划。但是有很多客户有很多计划,我不能写很多触发 bean 因为我不知道真正有多少计划,这取决于客户。那么,有人会帮忙吗?

4

1 回答 1

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);

请参阅官方文档,尤其是说明书

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

于 2012-07-05T19:41:28.057 回答