public abstract class QuartzJobBean extends Object implements Job
For example, let's assume that the JobDataMap contains a key "myParam" with value "5": The Job implementation can then expose a bean property "myParam" of type int to receive such a value, i.e. a method "setMyParam(int)". This will also work for complex types like business objects etc.
Note that the preferred way to apply dependency injection
to Job instances is via a JobFactory: that is, to specify
SpringBeanJobFactory as Quartz JobFactory (typically via
SchedulerFactoryBean.setJobFactory(org.quartz.spi.JobFactory) SchedulerFactoryBean's "jobFactory" property}).
This allows to implement dependency-injected Quartz Jobs without
a dependency on Spring base classes.
JobExecutionContext.getMergedJobDataMap(),
Scheduler.getContext(),
SchedulerFactoryBean.setSchedulerContextAsMap(java.util.Map<java.lang.String, ?>),
SpringBeanJobFactory,
SchedulerFactoryBean.setJobFactory(org.quartz.spi.JobFactory)| Constructor and Description |
|---|
QuartzJobBean() |
| Modifier and Type | Method and Description |
|---|---|
void |
execute(JobExecutionContext context)
This implementation applies the passed-in job data map as bean property
values, and delegates to
executeInternal afterwards. |
protected abstract void |
executeInternal(JobExecutionContext context)
Execute the actual job.
|
public final void execute(JobExecutionContext context) throws JobExecutionException
executeInternal afterwards.execute in interface JobJobExecutionExceptionexecuteInternal(org.quartz.JobExecutionContext)protected abstract void executeInternal(JobExecutionContext context) throws JobExecutionException
JobExecutionExceptionexecute(org.quartz.JobExecutionContext)