Ho effettuato alcune modifiche per non avere errori già in fase di scrittura del codice. Riporto le due classi:
codice:
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class MyJob implements Job {
public MyJob(){
}
public void execute(JobExecutionContext context) throws JobExecutionExceptio{
System.out.println("Ciao");
}
}
codice:
import static org.quartz.JobBuilder.*;
import static org.quartz.SimpleScheduleBuilder.*;
import static org.quartz.TriggerBuilder.*;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
public class SimpleExample{
public static void main(String [] args) throws SchedulerException{
SchedulerFactory schedFactory = new StdSchedulerFactory();
Scheduler sched = schedFactory.getScheduler();
JobDetail job = newJob(MyJob.class).withIdentity("MyJob", "group1") // name "myJob", group "group1"
.build();
// Trigger the job to run now, and then every 40 seconds
Trigger trigger = newTrigger().withIdentity("myTrigger", "group1").startNow().withSchedule(simpleSchedule()
.withIntervalInSeconds(40)
.repeatForever())
.build();
// Tell quartz to schedule the job using our trigger
sched.scheduleJob(job, trigger);
sched.shutdown(true);
}
}
Quando clicco sul pulsante per far girare il programma in console mi spunta questo messaggio:
codice:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at org.quartz.listeners.SchedulerListenerSupport.<init>(SchedulerListenerSupport.java:40)
at org.quartz.impl.QuartzServer.<init>(QuartzServer.java:75)
at org.quartz.impl.QuartzServer.main(QuartzServer.java:182)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 3 more
... e naturalmente non vedo il "ciao" ogni 40 secondi...