quartz---的一个简单例子
首先建立一个maven项目。jar工程即可。(提示:我前面有如何建立一个maven工程的总结以及maven环境的配置。)
1.建立好后点击到app中运行,-->右键-->run As-->java application,
如果控制台打印出来Hello World! 代表maven工程建立成功!!!
2.在pom文件中导入quartz的jar。
-->可以打开http://mvnrepository.com/ -->搜索quartz -->复制quartz的坐标。 用最新的jar
导入jar:
建一个类:
package com.imooc.demo.helloQuartz; import java.text.SimpleDateFormat;
import java.util.Date; import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; public class HelloJob implements Job{ @Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
//打印当前执行的时间,格式为2017-05-06 00:00:00
Date date=new Date();
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("Current Exec Time Is:"+sf.format(date));
//编写具体业务逻辑
System.out.println("------------------");
System.out.println("Hello world-");
} }
该类实现了Job类,并需要从写他仅有的一个方法execute
写一个测试类:
package com.imooc.demo.helloQuartz; import java.text.SimpleDateFormat;
import java.util.Date; import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory; public class HelloScheduler { public static void main(String[] args) throws SchedulerException {
// 创建一个jobDatail实例,将该实力与helloJob绑定
JobDetail detail = JobBuilder.newJob(HelloJob.class).withIdentity("myJob").build();
System.out.println("JobDetail name:" + detail.getKey().getName());
System.out.println("JobDetail group:" + detail.getKey().getGroup());
System.out.println("JobDetail jobClass:" + detail.getKey().getClass()); // 创建一个Trigger实例,定义该job立即执行,并且在每隔2秒重复执行
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1").startNow()
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).repeatForever()).build();
// 创建Scheduler实例
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
scheduler.start();
Date date = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("Current Exec Time Is:" + sf.format(date)+"-----");
// 把jobDetail和Trigger与scheuler绑定在一起
scheduler.scheduleJob(detail, trigger);
}
}
-->右键-->run As-->java application,
此时 每隔2秒打印一次当前时间和Hello World! 然后就正确了
第一个quartz项目:
使用了Job,jobDetail以及他们的属性:name,class,group。
代码说明了一切,这里我就不啰嗦了。