2017-06-02 100 views
1

有没有任何方法可以坚持JobDataMap而不触发/调度任何作业?我可以在之后(在回调)开始Job与存储JobDataMapQuarzt:在调度作业之前/不调度作业时存储JobDataMap

我已经计划以石英很多工作的我通过JobDataMap那些工作:

scheduler.triggerJob(new JobKey("job-name", "job-group"), myJobDataMap); 

现在我需要实现作业队列,因为有不能并行启动的作业。问题在于某些作业的状态(JobDataMap)是从客户端传递的,应该保留用于排队目的。另一方面,我不能根据用户请求安排工作,因为我不知道应该何时执行它! (应该在之前的工作之后立即执行)

回答

1

是的。

您可以使用方法addJob(JobDetail, boolean)将新作业添加到调度程序,而无需实际调度它。引用文档:

Job将“休眠”,直到它被安排与Trigger,或被调用它。

您的数据地图应该是JobDetail参数的一部分。