一尘不染

Java石英调度程序立即解雇新工作

java

是否可以建立可立即触发的工作?当我现在希望将工作触发时,我用当前日期和时间构建了一个cron表达式字符串-
我认为它太复杂了,是否有另一种方法可以立即触发该工作?

提前致谢。


阅读 156

收藏
2020-12-03

共1个答案

一尘不染

Quartz Scheduler中注册的所有作业均由JobKey唯一标识,该JobKey由名称和组组成。您可以触发具有给定的工作
JobKey
通过调用立即triggerJob(JobKey jobKey)您的调度程序实例。

//Create a new Job 
JobKey jobKey = JobKey.jobKey("myNewJob", "myJobGroup");
JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity(jobKey).storeDurably().build();

//Register this job to the scheduler
scheduler.addJob(job, true);

//Immediately fire the Job MyJob.class
scheduler.triggerJob(jobKey);

注意 :

  • scheduler是在整个应用程序中使用的Scheduler实例。创建后,其start()方法应该已经被调用。

  • 该作业是持久性作业,无法将任何触发器或Cron附加到该作业,只能通过调用triggerJob(JobKey jobKey)以编程方式触发。

2020-12-03