org.springframework.scheduling.quartz
Class AdaptableJobFactory

java.lang.Object
  extended by org.springframework.scheduling.quartz.AdaptableJobFactory
All Implemented Interfaces:
org.quartz.spi.JobFactory
Direct Known Subclasses:
SpringBeanJobFactory

public class AdaptableJobFactory
extends Object
implements org.quartz.spi.JobFactory

JobFactory implementation that supports Runnable objects as well as standard Quartz Job instances.

Compatible with Quartz 1.5+ as well as Quartz 2.0/2.1, as of Spring 3.1.

Since:
2.0
Author:
Juergen Hoeller
See Also:
DelegatingJob, adaptJob(Object)

Constructor Summary
AdaptableJobFactory()
           
 
Method Summary
protected  Job adaptJob(Object jobObject)
          Adapt the given job object to the Quartz Job interface.
protected  Object createJobInstance(org.quartz.spi.TriggerFiredBundle bundle)
          Create an instance of the specified job class.
 Job newJob(org.quartz.spi.TriggerFiredBundle bundle)
          Quartz 1.x version of newJob: contains actual implementation code.
 Job newJob(org.quartz.spi.TriggerFiredBundle bundle, Scheduler scheduler)
          Quartz 2.0 version of newJob: simply delegates to old newJob variant.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AdaptableJobFactory

public AdaptableJobFactory()
Method Detail

newJob

public Job newJob(org.quartz.spi.TriggerFiredBundle bundle,
                  Scheduler scheduler)
           throws SchedulerException
Quartz 2.0 version of newJob: simply delegates to old newJob variant.

Throws:
SchedulerException
See Also:
newJob(org.quartz.spi.TriggerFiredBundle)

newJob

public Job newJob(org.quartz.spi.TriggerFiredBundle bundle)
           throws SchedulerException
Quartz 1.x version of newJob: contains actual implementation code.

Specified by:
newJob in interface org.quartz.spi.JobFactory
Throws:
SchedulerException

createJobInstance

protected Object createJobInstance(org.quartz.spi.TriggerFiredBundle bundle)
                            throws Exception
Create an instance of the specified job class.

Can be overridden to post-process the job instance.

Parameters:
bundle - the TriggerFiredBundle from which the JobDetail and other info relating to the trigger firing can be obtained
Returns:
the job instance
Throws:
Exception - if job instantiation failed

adaptJob

protected Job adaptJob(Object jobObject)
                throws Exception
Adapt the given job object to the Quartz Job interface.

The default implementation supports straight Quartz Jobs as well as Runnables, which get wrapped in a DelegatingJob.

Parameters:
jobObject - the original instance of the specified job class
Returns:
the adapted Quartz Job instance
Throws:
Exception - if the given job could not be adapted
See Also:
DelegatingJob