Quartz:存储 JobDataMap before/without 调度作业
Quarzt: store JobDataMap before/without scheduling a job
有没有办法在没有 triggering/scheduling 任何工作的情况下坚持 JobDataMap
?之后我可以(在回调时)使用存储的 JobDataMap
启动 Job
吗?
我用 Quartz 安排了很多工作,我将 JobDataMap
传递给这些工作:
scheduler.triggerJob(new JobKey("job-name", "job-group"), myJobDataMap);
现在我需要实现作业队列,因为有些作业无法并行启动。问题是某些作业的状态 (JobDataMap
) 是从客户端传递的,应该保留以用于排队目的。另一方面,我无法根据用户请求安排作业,因为我不知道应该在什么时候执行! (它应该在上一个作业之后立即执行)
是的。
您可以使用方法 addJob(JobDetail, boolean)
将新作业添加到调度程序,而无需实际调度它。引用文档:
The Job
will be 'dormant' until it is scheduled with a Trigger
, or Scheduler.triggerJob()
is called for it.
您的数据映射将成为 JobDetail
参数的一部分。
有没有办法在没有 triggering/scheduling 任何工作的情况下坚持 JobDataMap
?之后我可以(在回调时)使用存储的 JobDataMap
启动 Job
吗?
我用 Quartz 安排了很多工作,我将 JobDataMap
传递给这些工作:
scheduler.triggerJob(new JobKey("job-name", "job-group"), myJobDataMap);
现在我需要实现作业队列,因为有些作业无法并行启动。问题是某些作业的状态 (JobDataMap
) 是从客户端传递的,应该保留以用于排队目的。另一方面,我无法根据用户请求安排作业,因为我不知道应该在什么时候执行! (它应该在上一个作业之后立即执行)
是的。
您可以使用方法 addJob(JobDetail, boolean)
将新作业添加到调度程序,而无需实际调度它。引用文档:
The
Job
will be 'dormant' until it is scheduled with aTrigger
, orScheduler.triggerJob()
is called for it.
您的数据映射将成为 JobDetail
参数的一部分。