【问题标题】:Quarzt: store JobDataMap before/without scheduling a jobQuartz:在调度作业之前/不存储 JobDataMap
【发布时间】:2017-06-02 13:41:09
【问题描述】:

有没有办法在不触发/安排任何工作的情况下坚持JobDataMap?之后我可以(在回调时)使用存储的JobDataMap 启动Job 吗?

我用 Quartz 安排了许多工作,我将 JobDataMap 传递给这些工作:

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

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

【问题讨论】:

    标签: java quartz-scheduler job-scheduling


    【解决方案1】:

    是的。

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

    Job 将处于“休眠”状态,直到使用 Trigger 安排它,或者调用 Scheduler.triggerJob()

    您的数据映射将成为JobDetail 参数的一部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-20
      • 1970-01-01
      • 2015-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多