java 石英调度程序立即启动新作业
2022-09-01 07:12:27
是否可以创建将立即触发的作业?当我希望工作是triggres现在我用当前的日期和时间建立了一个cron表达式字符串 - 我认为它太复杂了,有没有其他方法可以立即触发工作?
提前致谢。
是否可以创建将立即触发的作业?当我希望工作是triggres现在我用当前的日期和时间建立了一个cron表达式字符串 - 我认为它太复杂了,有没有其他方法可以立即触发工作?
提前致谢。
是的,使用以下命令立即触发您的作业,而不是等待 Cron 表达式。Trigger
String jobName = ""; // Your Job Name
String groupName = ""; // Your Job Group
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity(jobName, groupName)
.startNow()
.build();
在Quartz调度程序中注册的所有作业都由JobKey唯一标识,JobKey由名称和组组成。您可以通过调用计划程序实例的触发器作业(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
是在整个应用程序中使用的计划程序实例。它的 start() 方法在创建后应该已经调用。
该作业是持久作业,无法向其附加任何触发器或 cron。它只能通过调用 triggerJob(JobKey jobKey)以编程方式触发。