quartz入门实例
2015-01-29 16:12
274 查看
这个例子展示了如何启动和运行Quartz。它将驱动一个Job然后说“hello quartz”。
首先,创建一个HelloJob类并实现Job接口,代码如下:
然后创建SimpleExample类,代码如下:
运行就能从控制台看到结果了。
首先,创建一个HelloJob类并实现Job接口,代码如下:
package xl.insist; 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 { System.out.println("----------------hello quartz----------------"); } }
然后创建SimpleExample类,代码如下:
import java.util.Calendar; import java.util.Date; import org.quartz.DateBuilder; import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.impl.StdSchedulerFactory; public class SimpleExample { public static void main(String[] args) { //开始计时 new Thread(new Runnable() { @Override public void run() { startTiming(); } }).start(); //使用quartz驱动任务 executeTask(); } private static void executeTask() { try { SchedulerFactory sf = new StdSchedulerFactory(); Scheduler sched = sf.getScheduler(); // define the job and tie it to our HelloJob class JobDetail job = JobBuilder.newJob(HelloJob.class).withIdentity("job1", "group1").build(); // compute a time that is on the next round minute Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.SECOND, 5); Date triggerStartTime = DateBuilder.evenSecondDate(calendar.getTime()); // Trigger the job to run on the next round minute Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1").startAt(triggerStartTime).build(); // Tell quartz to schedule the job using our trigger sched.scheduleJob(job, trigger); sched.start(); Thread.sleep(10L * 1000L); sched.shutdown(); System.out.println("End of the timer"); } catch (SchedulerException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } private static void startTiming() { for (int i = 0; i < 11; i++) { if(i == 0) { System.out.println("开始计时"); } else { System.out.println(i + "second"); } try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
运行就能从控制台看到结果了。
相关文章推荐
- Quartz入门实例1-Hello job
- Quartz入门实例3-使用CronTrigger指定触发器执行job
- quartz入门实例
- quartz入门(二)SimpleTrigger简单实例
- quartz入门(二)SimpleTrigger简单实例
- quartz入门实例
- 【Quartz】Quartz概述及入门实例
- CronTrigger表达式和Quartz使用实例入门
- CronTrigger表达式和Quartz使用实例入门
- 【Quartz】Quartz概述及入门实例
- Quartz入门实例4-通过JobDataMap实现数据的传输
- Quartz入门实例9-实现Trigger监听器
- Quartz入门实例8-实现一个Job监听器
- 【Quartz】Quartz概述及入门实例
- Quartz入门实例13-spirng4和quartz2实现动态任务调用
- Quartz入门实例2-根据SimpleScheduleBuilder配置不同的SimpleTrigger触发器
- Quartz入门实例7-处理被中断的Job
- Quartz入门实例11-Quartz的远程方法调用
- quartz入门(一)下载及简单实例
- Quartz入门实例14-让Quartz的Job使用Spring注入的Bean