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

时间:2016-12-07 12:58:32

标签: java quartz-scheduler quartz

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

现在我想将对象obj1 更新程序传递到 UpdateJob 。 我该怎么做?

Interval.java/Updater:

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();
    }

}

UpdateJob.java:

    public class UpdateJob implements Job {

          public void execute(JobExecutionContext context)
                            throws JobExecutionException {

                  //obj1 jobs

          }

    }

1 个答案:

答案 0 :(得分:1)

您可以使用数据图

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

然后从工作中获取它:

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