环境:引入包quartz-1.6.1.jar
Timer应用实例:
类TimerTest.java:
import java.util.Date;
import java.util.Timer;
public class TimerTest{
public static void main(String[] args){
Timer testtimer = new Timer();
testtimer.schedule(new MyTimerTask(), new Date(), 5*1000);
}
}
类MyTimerTask.java:
import java.util.Date;
import java.util.TimerTask;
class MyTimerTask extends TimerTask{
public void run() {
System.out.println("==="+new Date());
}
}
Quartz应用实例:
类Main.java:
import java.util.logging.Level;
import java.util.logging.Logger;
import org.quartz.SchedulerException;
public class Main {
public static void main(String[] args) {
try {
new ExcuteTask().start();
} catch (SchedulerException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
类ExcuteTask.java:
import org.quartz.CronExpression;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
public class ExcuteTask {
public void start() throws SchedulerException
{
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
JobDetail jobDetail = new JobDetail("JobName","JobGroupName", ExcuteJob1.class);
CronTrigger cronTrigger = new CronTrigger("TriggerName", "TriggerGroupName");
JobDetail jobDetail2 = new JobDetail("JobName2","JobGroupName", ExcuteJob2.class);
CronTrigger cronTrigger2 = new CronTrigger("TriggerName2", "TriggerGroupName");
try
{
//每隔2分钟执行
CronExpression cexp = new CronExpression("0 */2 * * * ? *");
cronTrigger.setCronExpression(cexp);
//每隔1小时执行
CronExpression cexp2 = new CronExpression("0 0 */1 * * ? *");
cronTrigger2.setCronExpression(cexp2);
} catch (Exception e)
{
e.printStackTrace();
}
// 计划任务
scheduler.scheduleJob(jobDetail, cronTrigger);
scheduler.scheduleJob(jobDetail2, cronTrigger2);
// 启动任务
scheduler.start();
}
public void close() throws SchedulerException
{
// 启动任务
// scheduler;
}
}
类ExcuteJob1.java:
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class ExcuteJob1 implements Job{
public void execute(JobExecutionContext arg0) throws JobExecutionException
{
System.out.println("==job1=="+new Date());
}
}
类ExcuteJob2.java:
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class ExcuteJob2 implements Job{
public void execute(JobExecutionContext arg0) throws JobExecutionException
{
System.out.println("==job2=="+new Date());
}
}