Je reçois l'exception suivante lors de l'exécution de mon programme Quartz Scheduler.
Voici la trace de l'exception
26 mars 2010 14:54:24 org.quartz.core.QuartzScheduler start
INFO: Planificateur DefaultQuartzScheduler_$_NON_CLUSTERED démarré.
Exception in thread "main" java.lang.IllegalArgumentException: La classe Job doit implémenter l'interface Job.
at org.quartz.JobDetail.setJobClass(JobDetail.java:291)
at org.quartz.JobDetail.(JobDetail.java:138)
at com.Quarrtz.RanchSchedule.main(RanchSchedule.java:18)
J'ai inclus Quartz-1.7.2.jar
et Quartz-all-1.7.2.jar
dans mon chemin de classe avec commom-logging 1,1.jar
et jdk 6
Il s'agit d'un exemple que j'ai copié-collé depuis [JavaRanch][1]
Premier exemple sur la page ci-dessus
public interface Job {
void execute (JobExecutionContext ctx);
}
public class RanchJob implements Job {
public void execute (JobExecutionContext ctx) throws JobExecutionException {
System.out.println("[JOB] Bienvenue à JavaRanch");
}
}
public class RanchSchedule {
public static void main (String[] args) {
try {
SchedulerFactory factory = new org.quartz.impl.StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
scheduler.start();
JobDetail jobDetail = new JobDetail("ranchJob", null, RanchJob.class);
// Se déclenche toutes les 10 secondes
Trigger ranchTrigger = TriggerUtils.makeSecondlyTrigger(10);
ranchTrigger.setName("ranchTrigger");
scheduler.scheduleJob(jobDetail, ranchTrigger);
} catch (SchedulerException ex) {
ex.printStackTrace();
}
}
}