1 package com.atlassian.scheduler.quartz2;
2
3 import com.atlassian.scheduler.config.JobId;
4 import com.atlassian.scheduler.config.RunMode;
5 import com.atlassian.scheduler.core.AbstractSchedulerService;
6 import com.atlassian.scheduler.core.JobLauncher;
7 import org.quartz.Job;
8 import org.quartz.JobExecutionContext;
9 import org.quartz.JobExecutionException;
10 import org.quartz.spi.TriggerFiredBundle;
11
12
13
14
15
16
17 public class Quartz2Job implements Job {
18 private final JobLauncher jobLauncher;
19
20 Quartz2Job(final AbstractSchedulerService schedulerService, final RunMode schedulerRunMode,
21 final TriggerFiredBundle bundle) {
22 final JobId jobId = JobId.of(bundle.getTrigger().getKey().getName());
23 this.jobLauncher = new JobLauncher(schedulerService, schedulerRunMode, bundle.getFireTime(), jobId);
24 }
25
26 @Override
27 public void execute(final JobExecutionContext context) throws JobExecutionException {
28 jobLauncher.launch();
29 }
30
31 @Override
32 public String toString() {
33 return "Quartz2Job[jobLauncher=" + jobLauncher + ']';
34 }
35 }
36