com.atlassian.sal.core.scheduling
Class QuartzPluginScheduler

java.lang.Object
  extended by com.atlassian.sal.core.scheduling.QuartzPluginScheduler
All Implemented Interfaces:
PluginScheduler

public class QuartzPluginScheduler
extends Object
implements PluginScheduler

Plugin scheduler that uses Quartz's Scheduler.


Nested Class Summary
static class QuartzPluginScheduler.QuartzPluginJob
          A Quartz job that executes a PluginJob
 
Constructor Summary
QuartzPluginScheduler()
           
 
Method Summary
protected  org.quartz.JobDataMap getJobMap(Class<? extends PluginJob> job, Map<String,Object> jobDataMap)
           
protected  org.quartz.Scheduler getScheduler()
           
 void scheduleJob(String name, Class<? extends PluginJob> job, Map<String,Object> jobDataMap, Date startTime, long repeatInterval)
          Schedule the given job.
 void unscheduleJob(String name)
          Unschedule the given job.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QuartzPluginScheduler

public QuartzPluginScheduler()
Method Detail

scheduleJob

public void scheduleJob(String name,
                        Class<? extends PluginJob> job,
                        Map<String,Object> jobDataMap,
                        Date startTime,
                        long repeatInterval)
Description copied from interface: PluginScheduler
Schedule the given job.

WARNING: it is very important not to try to call this method until the underlying application is fully started. You should implement LifecycleAware and call scheduleJob() only on LifecycleAware.onStart()

Specified by:
scheduleJob in interface PluginScheduler
Parameters:
name - A unique key of the job
job - The class for the job
jobDataMap - Any data that needs to be passed to the job. This map instance will always be the same instance that is given to the job when it executes.
startTime - The time the job is to start.
repeatInterval - How long the interval between repeats, in milliseconds. Note, some implementations

unscheduleJob

public void unscheduleJob(String name)
Description copied from interface: PluginScheduler
Unschedule the given job. If the job doesn't exist then IllegalArgumentException will be thrown.

Specified by:
unscheduleJob in interface PluginScheduler
Parameters:
name - The job key to unschedule

getJobMap

protected org.quartz.JobDataMap getJobMap(Class<? extends PluginJob> job,
                                          Map<String,Object> jobDataMap)

getScheduler

protected org.quartz.Scheduler getScheduler()


Copyright © 2015 Atlassian. All rights reserved.