2016-12-07 32 views
1

我使用Quartz 2在Java中创建一个间隔。Java通过对象到Quartzjob(Quartz 2)

现在我想从更新UpdateJob通过目标OBJ1。 我该如何做到这一点?

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 

      } 

    } 

回答

0

可以使用的数据图

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

,然后从工作得到它:

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