QuartzRAM
Quartz是一个完全由java编写的开源作业调度框架,这里只写基于RAM的,相信你看完本篇,你就学会应用Quartz了,至于持久化应用,我会写在另一篇里,如果对笔者文章或者其他地方有见解或者疑问请下方评论或者至liruli@aliyun.com
1.QuartzRAMDemo
状态控制:
启动:start();
暂停:standby();
停止:shutdown();
注意: 使用shutdown()方法后必须重新实例化,否则无法启动;只有当scheduler启动后,即使
处于暂停状态也不行,trigger才会被触发(job才会被执行)。
JobDemo
public class JobDemo implements Job {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// TODO Auto-generated method stub
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format.format(new Date());
System.out.println(time + " helloword!!");
}
}
执行一次的定时任务
public static void testJob() throws SchedulerException{
//quartz工厂类
SchedulerFactory factory = new StdSchedulerFactory();
//get调度器
Scheduler scheduler = factory.getScheduler();
scheduler.start();
//scheduler.standby();
JobDetail job = newJob(JobDemo.class).build();//定时执行的工作
//得到jobKey
JobKey jobKey = job.getKey();
int limit_time = 5;
//定时设置
SimpleTrigger trigger = (SimpleTrigger) newTrigger()
.startAt(futureDate(limit_time, IntervalUnit.SECOND))//秒
.withSchedule