Quartz是很有名气的任务调度框架,具有简单,易用的特点,借助于cron表达式,可进行负责的任务调度工作。这里是一个入门级的教程:
看代码:
- package com.yjck.quartz;
- import java.util.Date;
- import org.quartz.Job;
- import org.quartz.JobExecutionContext;
- import org.quartz.JobExecutionException;
- public class MyJobClassimplements Job{
- /*事件类,处理具体的业务*/
- public void execute(JobExecutionContext job)throws JobExecutionException {
- System.out.println("hello quartz"+new Date());
- }
- }
package com.yjck.quartz;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class MyJobClass implements Job{
/*事件类,处理具体的业务*/
public void execute(JobExecutionContext job) throws JobExecutionException {
System.out.println("hello quartz"+ new Date());
}
}
调用类:
- package com.yjck.quartz;
- import org.quartz.JobDetail;
- import org.quartz.Scheduler;
- import org.quartz.SchedulerException;
- import org.quartz.SimpleTrigger;
- import org.quartz.Trigger;
- import org.quartz.TriggerUtils;
- import org.quartz.impl.StdSchedulerFactory;
- public class QuartzTest {
- public staticvoid main(String[] args) throws InterruptedException{
- QuartzTest tqz = new QuartzTest();
- try {
- tqz.startShedule();
- } catch (SchedulerException e) {
- e.printStackTrace();
- }
- }
- protected void startShedule()throws SchedulerException{
- /*调度器*/
- Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
- /*具体执行类*/
- JobDetail jobDetail = new JobDetail("firstJOB", scheduler.DEFAULT_GROUP, MyJobClass.class);
- //触发器,定义每3秒执行一次
- //Trigger trigger = TriggerUtils.makeSecondlyTrigger(3);
- /*简单触发器,相当于java timetask,CronTrigger 是更为发展的触发器,有cron表达式*/
- SimpleTrigger trigger = new SimpleTrigger("triger1", scheduler.DEFAULT_GROUP,10, 2000);
- scheduler.scheduleJob(jobDetail, trigger);
- scheduler.start();
- }
- }
package com.yjck.quartz;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SimpleTrigger;
import org.quartz.Trigger;
import org.quartz.TriggerUtils;
import org.quartz.impl.StdSchedulerFactory;
public class QuartzTest {
public static void main(String[] args) throws InterruptedException{
QuartzTest tqz = new QuartzTest();
try {
tqz.startShedule();
} catch (SchedulerException e) {
e.printStackTrace();
}
}
protected void startShedule() throws SchedulerException{
/*调度器*/
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
/*具体执行类*/
JobDetail jobDetail = new JobDetail("firstJOB", scheduler.DEFAULT_GROUP, MyJobClass.class);
//触发器,定义每3秒执行一次
//Trigger trigger = TriggerUtils.makeSecondlyTrigger(3);
/*简单触发器,相当于java timetask,CronTrigger 是更为发展的触发器,有cron表达式*/
SimpleTrigger trigger = new SimpleTrigger("triger1", scheduler.DEFAULT_GROUP, 10, 2000);
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start();
}
}
Ok,就是这么简单,至于有人看到quartz的配置文件,在本身的jar文件里就有,你可以重写,但是要放到类路径下。