Java 将对象传递给 Quartzjob ( Quartz 2 )

标签 java quartz-scheduler quartz

我使用 Quartz 2 在 Java 中创建一个 Interval。

现在我想将Object obj1Updater传递到UpdateJob。 我该怎么做这个?

Interval.java/更新程序:

public class Interval {

    public static void Updater( Object obj1 ) throws SchedulerException {
        JobDetail job = newJob(UpdateJob.class).withIdentity("UpdateJob", "Group1").build();
        Trigger trigger = newTrigger().withIdentity("UpdateTrigger", "Group1")
                .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();
        Scheduler sched = new StdSchedulerFactory().getScheduler();
        sched.scheduleJob(job, trigger);
        sched.start();
    }

}

更新作业.java:

    public class UpdateJob implements Job {

          public void execute(JobExecutionContext context)
                            throws JobExecutionException {

                  //obj1 jobs

          }

    }

最佳答案

您可以使用数据图

job.getJobDataMap().put("key",obj1);

然后从工作中获取它:

    JobDataMap data = _context.getJobDetail().getJobDataMap();
    Object o = data.get("key");

关于Java 将对象传递给 Quartzjob ( Quartz 2 ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41018129/

相关文章:

java - Quartz Scheduler 在集群模式下的所有节点上触发 cron 作业

grails - 如何防止在 Grails 中并发执行作业?

python - 如何在 apscheduler 的事件作业中添加失火宽限期和合并?

带有 Quartz 和 Tomcat 数据源的 SpringBoot : Driver's Blob representation is of an unsupported type: oracle. sql.BLOB

java - 升级到 spring 4.2.5 导致quartz调度程序启动错误

java - 尝试更改 RCP 中的配置文件位置,导致运行不同的程序

java - 签署 gradle 插件

java - Spring Quartz 远程调度器

java - 类加载与两个 eclipse 插件冲突

java - 是 - `else if` - 只是语法糖吗?