Java任务调度框架Quartz(1)
2016-08-27 00:32
357 查看
Quartz是知名的定时任务框架。
1.下载Quartz(我用的2.1.7版本),其中doc里有官方提供的示例,可自行学习
2.将lib下的所有Jar包和quartz-all-2.1.7.jar加入到项目中,最好新建一个类库Quartz-core
接下来我以一个最为简单的例子来进行说明:
写两个类,一个用于定义任务deftask,一个用于调用任务usetask‘
这是deftask类,实现job接口的execute方法即可import java.util.Calendar;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class dfitask implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("定义的任务正在执行,执行时间:"+Calendar.getInstance().getTime());
}
}这是usetask类,
import java.util.Date;
import org.quartz.DateBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
public class usetask {
public static void main(String[] args) throws Throwable {
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
Date runtime = DateBuilder.evenMinuteDate(new Date());
JobDetail job = JobBuilder.newJob(dfitask.class)
.withIdentity("job1", "group1").build();
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("trigger1", "group1").startAt(runtime).build();
scheduler.scheduleJob(job,trigger);
scheduler.start();
Thread.sleep(65L*1000L);
scheduler.shutdown();
}
}
思路其实并不复杂,首先得到一个scheduler实例,定义执行时间runtime,然后将任务和触发器放入 scheduler
第2篇我们将讲到CronTrigger,即如何用Cron表达式定义定时器,不知道的可以自行搜索Cron表达式。
1.下载Quartz(我用的2.1.7版本),其中doc里有官方提供的示例,可自行学习
2.将lib下的所有Jar包和quartz-all-2.1.7.jar加入到项目中,最好新建一个类库Quartz-core
接下来我以一个最为简单的例子来进行说明:
写两个类,一个用于定义任务deftask,一个用于调用任务usetask‘
这是deftask类,实现job接口的execute方法即可import java.util.Calendar;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class dfitask implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("定义的任务正在执行,执行时间:"+Calendar.getInstance().getTime());
}
}这是usetask类,
import java.util.Date;
import org.quartz.DateBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
public class usetask {
public static void main(String[] args) throws Throwable {
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
Date runtime = DateBuilder.evenMinuteDate(new Date());
JobDetail job = JobBuilder.newJob(dfitask.class)
.withIdentity("job1", "group1").build();
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("trigger1", "group1").startAt(runtime).build();
scheduler.scheduleJob(job,trigger);
scheduler.start();
Thread.sleep(65L*1000L);
scheduler.shutdown();
}
}
思路其实并不复杂,首先得到一个scheduler实例,定义执行时间runtime,然后将任务和触发器放入 scheduler
第2篇我们将讲到CronTrigger,即如何用Cron表达式定义定时器,不知道的可以自行搜索Cron表达式。
相关文章推荐
- 再谈jdk && eclipse
- 《Java编程思想第四版》笔记---21章(4) 并发补充:单例模式与双重检测
- 《Java编程思想第四版》笔记---21章(3) 并发补充: volatile关键字解析
- 二进制 正负数加减法 计算INT_MIN - 1=INT_MAX
- Eclipse转Android Studio常用设置
- 《Java编程思想第四版》笔记---21章(2) 并发
- 《Java编程思想第四版》笔记---21章(1) 并发
- 《Java编程思想第四版》笔记---15章(2)泛型类型擦除
- Java设计模式之模板方法模式
- WIN下JDK的安装配置
- Struts数据验证
- 《Java编程思想第四版》笔记---15章(1) 泛型编程基础
- eclipse mars 及以上安装 velocity 插件
- spring 定时任务的实现
- 重读《JAVA与模式》之一
- 重读《JAVA与模式》之二
- JDK环境变量配置
- Junit--spring 应用
- Java线程代码
- SpringBoot集成velocity