Code:
<!-- scheduler bean for quartz -->
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="quartzProperties">
<props>
<prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</prop>
<prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
<prop key="org.quartz.threadPool.threadCount">20</prop>
</props>
</property>
</bean>
<bean id="foo" class="Foo">
<property name="scheduler" ref="scheduler"/>
</bean>
class Foo {
private org.quartz.Scheduler scheduler;
// the SchedulerFactoryBean is exposed as a quartz scheduler object
public void setScheduler(Scheduler scheduler) {
this.scheduler = scheduler;
}
public void scheduleAJob() {
Trigger trigger = new SimpleTrigger(...);
JobDetail job = new JobDetail(...);
scheduler.scheduleJob(job, trigger);
}
}