Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.scheduling.quartz
Class SpringBeanJobFactory

    java.lang.Object
      org.springframework.scheduling.quartz.AdaptableJobFactory
          org.springframework.scheduling.quartz.SpringBeanJobFactory

All Implemented Interfaces:
  org.quartz.spi.JobFactory, Aware, SchedulerContextAware

    public class SpringBeanJobFactory

extends AdaptableJobFactory
implements SchedulerContextAware

Subclass of `AdaptableJobFactory` that also supports Spring-style dependency injection on bean properties. This is essentially the direct equivalent of Spring's `QuartzJobBean` in the shape of a Quartz 1.5 `JobFactory`.

Applies scheduler context, job data map and trigger data map entries as bean property values. If no matching bean property is found, the entry is by default simply ignored. This is analogous to QuartzJobBean's behavior.

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:
  `SchedulerFactoryBean.setJobFactory(org.quartz.spi.JobFactory)`, `QuartzJobBean`

Constructor Summary
`SpringBeanJobFactory()`

Method Summary
`protected java.lang.Object` | `createJobInstance(org.quartz.spi.TriggerFiredBundle bundle)` Create the job instance, populating it with property values taken from the scheduler context, job data map and trigger data map.
`protected boolean` | `isEligibleForPropertyPopulation(java.lang.Object jobObject)` Return whether the given job object is eligible for having its bean properties populated.
`void` | `setIgnoredUnknownProperties(java.lang.String[] ignoredUnknownProperties)` Specify the unknown properties (not found in the bean) that should be ignored.
`void` | `setSchedulerContext(org.quartz.SchedulerContext schedulerContext)` Set the SchedulerContext of the current Quartz Scheduler.

Methods inherited from class org.springframework.scheduling.quartz.AdaptableJobFactory
`adaptJob, newJob, newJob`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SpringBeanJobFactory

    public SpringBeanJobFactory()

Method Detail

### setIgnoredUnknownProperties

    public void setIgnoredUnknownProperties(java.lang.String[] ignoredUnknownProperties)

  Specify the unknown properties (not found in the bean) that should be ignored.

  Default is `null`, indicating that all unknown properties should be ignored. Specify an empty array to throw an exception in case of any unknown properties, or a list of property names that should be ignored if there is no corresponding property found on the particular job class (all other unknown properties will still trigger an exception).

### setSchedulerContext

    public void setSchedulerContext(org.quartz.SchedulerContext schedulerContext)

  Description copied from interface: `SchedulerContextAware`
  Set the SchedulerContext of the current Quartz Scheduler.

  Specified by:
    `setSchedulerContext` in interface `SchedulerContextAware`
  See Also:
    `Scheduler.getContext()`

### createJobInstance

    protected java.lang.Object createJobInstance(org.quartz.spi.TriggerFiredBundle bundle)
                                          throws java.lang.Exception

  Create the job instance, populating it with property values taken from the scheduler context, job data map and trigger data map.

  Overrides:
    `createJobInstance` in class `AdaptableJobFactory`
  Parameters:
    `bundle` - the TriggerFiredBundle from which the JobDetail and other info relating to the trigger firing can be obtained
  Returns:
    the job instance
  Throws:
    `java.lang.Exception` - if job instantiation failed

### isEligibleForPropertyPopulation

    protected boolean isEligibleForPropertyPopulation(java.lang.Object jobObject)

  Return whether the given job object is eligible for having its bean properties populated.

  The default implementation ignores `QuartzJobBean` instances, which will inject bean properties themselves.

  Parameters:
    `jobObject` - the job object to introspect
  See Also:
    `QuartzJobBean`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD