Quartz (二) Job任务

来源:互联网 发布:elementary linux 编辑:程序博客网 时间:2024/03/29 23:26

简述:

在一的基础上实现一个定时输出的程序


项目结构:



代码:

TestJob.java 实现Job接口,定义输出

package com.anialy.tq;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;public class TestJob implements Job {private static int cnt = 0;    public TestJob() {        // Instances of Job must have a public no-argument constructor.    }@Overridepublic void execute(JobExecutionContext arg0) throws JobExecutionException {// TODO Auto-generated method stubSystem.out.println("TestJob " + (++cnt) + " Run! ");}}


TestQurtz.java 主程序(注意要static导入包,同时将scheduler的shutdown注释掉)

package com.anialy.tq;import static org.quartz.JobBuilder.newJob;import static org.quartz.SimpleScheduleBuilder.simpleSchedule;import static org.quartz.TriggerBuilder.newTrigger;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.Trigger;import org.quartz.impl.StdSchedulerFactory;public class TestQuartz {    private static Scheduler scheduler;    public static void main(String[] args) {        try {        // Grab the Scheduler instance from the Factory         scheduler = StdSchedulerFactory.getDefaultScheduler();        // Set Scheduler        setScheduler();        // and start it off            scheduler.start();            //shutdown to see the output of TestJob//            scheduler.shutdown();          } catch (SchedulerException se) {            se.printStackTrace();        }    }            private static void setScheduler(){        // define the job and tie it to our TestJob class        JobDetail job = newJob(TestJob.class)            .withIdentity("job1", "group1")            .build();        // Trigger the job to run now, and then repeat every 5 seconds        Trigger trigger = newTrigger()            .withIdentity("trigger1", "group1")            .startNow()            .withSchedule(simpleSchedule()                    .withIntervalInSeconds(5)                    .repeatForever())                        .build();        // Tell quartz to schedule the job using our trigger        try {scheduler.scheduleJob(job, trigger);} catch (SchedulerException e) {// TODO Auto-generated catch blocke.printStackTrace();}    }}


输出:




原创粉丝点击