最近使用到quartz的定时任务总结下:
0、使用到的jar quartz-1.8.4.jar,commons-logging-1.1.3.jar,slf4j-api-1.5.8.jar,slf4j-log4j12-1.5.8.jar,log4j-1.2.16.jar
下载地址:http://download.csdn.net/detail/xumajie88/6974077
1、实现Job接口
2、创建触发器
3、业务处理执行方法excute()
4、添加到应用环境中,下面举例说明
import java.text.ParseException;
import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
public class MySimpleJob implements Job {
/**
* 指定让任务的触发时间
*/
public Trigger createTrigger() {
CronTrigger trigger = new CronTrigger("InspectionBuildJob");
try {
//每天晚上0:05:00运行
// trigger.setCronExpression("0 5 0 * * ?");
//测试�?,每分钟运�?
trigger.setCronExpression("0 * * * * ?");
} catch (ParseException e) {
e.printStackTrace();
}
return trigger;
}
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
//在这里写任务代码
System.out.println(System.currentTimeMillis());
}
/**
* 这里的内容可以考虑封装起来
* */
public static void main(String[] args) throws Exception {
MySimpleJob qj = new MySimpleJob();
//每个job都有自己的JobDetail
JobDetail jobDetail = new JobDetail(qj.getClass().getSimpleName() ,Scheduler.DEFAULT_GROUP,qj.getClass());
SchedulerFactory factory = new StdSchedulerFactory();
//从进度工厂中过去一个进度表
Scheduler scheduler = factory.getScheduler();
//给该进度表分配任务
scheduler.scheduleJob(jobDetail, qj.createTrigger());
//进度开始
scheduler.start();
}
}