(Affiché au nom de l'OP).
Solution:
Dans le Job (il est obligatoire d'obtenir une interface):
public class SchedulerJob extends QuartzJobBean {
public void executeInternal(JobExecutionContext context)
throws JobExecutionException {
try{
<YOUR_BEAN_DAO_INTERFACE_OBJECT> = ((ApplicationContext) context.getJobDetail().getJobDataMap().get("applicationContext")).get("<YOUR_BEAN_DAO_INTERFACE_ID>");
} catch (Exception e){
e.printStackTrace();
return;
}
}
}
Dans le contexte .xml de l'application: Il est également nécessaire de déclarer <YOUR_BEAN_DAO_INTERFACE>
dans ce XML en tant que bean:
<!-- Spring Quartz Scheduler job -->
<bean name="schedulerJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="<PATH_OF_YOUR_CLASS_JOB>.SchedulerJob" />
<property name="applicationContextJobDataKey" value="applicationContext" />
</bean>
<!-- Cron Trigger, run every 10 seconds -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="schedulerJob" />
<property name="cronExpression" value="0/10 * * * * ?" />
</bean>
<!-- DI -->
<bean id="scheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="schedulerJob" />
</list>
</property>
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>
Astuce: lors de la communication en anglais, utilisez des acronymes anglais. Sinon, vous aurez des gens se demandant ce que p. un OAD est, au lieu de répondre à votre question. – walen
Copie possible de [Utilisation de la session Hibernate avec quartz] (http://stackoverflow.com/questions/4446103/using-hibernate-session-with-quartz) –