1、首先需要先导入quartz的jar包。
2、创建业务逻辑处理类实现Job接口,然后重写execute方法。
3、创建JobDetail,将job业务关联起来。
4、创建CronTrigger触发器,创建定时任务url,设置任务触发时间。生成时间url规则可以使用http://cron.qqe2.com/该网站去生成。
5、创建任务调度器用于启动业务逻辑。
job任务:
public class HelloJob implements Job{
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
Date date = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("现在的时间是:"+ sf.format(date));
//具体的业务逻辑
System.out.println("业务逻辑处理");
}
}
测试类
public class TestMain {
public static void main(String[] args) throws Exception {
//jobDetail
JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("cronJob").build();
//cronTrigger
CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("cronTrigger").withSchedule(CronScheduleBuilder.cronSchedule("0 * * * * ? ")).build();
//Scheduler实例
StdSchedulerFactory stdSchedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = stdSchedulerFactory.getScheduler();
scheduler.start();
scheduler.scheduleJob(jobDetail,cronTrigger);
}
}
使用这种方式,集成在web服务器中很容易出现线程安全问题,因此可以自定一个job服务来独立去做一个定时任务。