View Javadoc

1   package com.atlassian.scheduler.quartz1;
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   * Quartz 1.x {@code Job} that delegates to {@link JobLauncher}.
14   *
15   * @since v1.0
16   */
17  public class Quartz1Job implements Job {
18      private final JobLauncher jobLauncher;
19  
20      Quartz1Job(final AbstractSchedulerService schedulerService, final RunMode schedulerRunMode,
21                 final TriggerFiredBundle bundle) {
22          final JobId jobId = JobId.of(bundle.getTrigger().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 "Quartz1Job[jobLauncher=" + jobLauncher + ']';
34      }
35  }
36