【问题标题】:Reuse Quartz jobs with different job data?使用不同的作业数据重用 Quartz 作业?
【发布时间】:2022-01-21 17:40:12
【问题描述】:

我有一个用例,我想使用相同的作业(使用 @DisallowConcurrentExecution 的相同作业类和键以避免并发执行),但我想为我的作业数据字段之一使用不同的值。

由于作业密钥冲突,以下导致调度它们时出现异常:

JobDetail ingestJob = newJob(MyJob.class)
                .withIdentity("jobkey", "jobGroup")
                .usingJobData(JOB_USER_KEY, "value")
                .build();

JobDetail ingestJob = newJob(MyJob.class)
                .withIdentity("jobkey", "jobGroup)
                .usingJobData("jobField", "differentValue")
                .build();

这可能吗?实现这一目标的最佳方法是什么?我不希望一个作业调度中的作业数据影响另一个作业,并且调度可以由我的应用程序中的不同线程完成。

【问题讨论】:

    标签: java quartz-scheduler


    【解决方案1】:

    当然,在发布后我发现触发器也可以通过TriggerBuilder.usingJobData 方法获得工作数据,让我可以安全地重用具有不同工作数据的工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多