quartz 企业级

来源:互联网 发布:手机九宫格软件 编辑:程序博客网 时间:2024/05/13 20:20

1. 包
log4j-1.2.16.jar
quartz-2.2.3.jar
slf4j-api-1.7.7.jar
slf4j-log4j12-1.7.7.jar
(文末提供下载地址)

2.配置

3.MyJob.java

package com.xfsy.quartz;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;public class MyJob implements Job {    @Override    public void execute(JobExecutionContext arg0) throws JobExecutionException {        // TODO Auto-generated method stub       //... do something    }}

4.方式一:SimpleTriggerExample.java

package com.xfsy;import org.quartz.JobBuilder;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.SimpleScheduleBuilder;import org.quartz.Trigger;import org.quartz.TriggerBuilder;import org.quartz.impl.StdSchedulerFactory;public class SimpleTriggerExample {    public static void main(String[] args) {        JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("JobName", "groupName").build();        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("TriggerName", "groupName")                .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();        Scheduler scheduler;        try {            scheduler = new StdSchedulerFactory().getScheduler();            scheduler.start();            scheduler.scheduleJob(job, trigger);        } catch (SchedulerException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

5.方式二:CronTriggerExample.java

package com.xfsy;import org.quartz.CronScheduleBuilder;import org.quartz.JobBuilder;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.Trigger;import org.quartz.TriggerBuilder;import org.quartz.impl.StdSchedulerFactory;public class CronTriggerExample {    private static Scheduler scheduler;    public static void main(String[] args) throws Exception {        JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("JobName", "groupName").build();        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("TriggerName", "groupName")                .withSchedule(                        // CronScheduleBuilder.cronSchedule("0/5 * * * * ?"))                        CronScheduleBuilder.cronSchedule("0 25 11 10 05 ? 2017"))                .build();        // schedule it        scheduler = new StdSchedulerFactory().getScheduler();        scheduler.start();        scheduler.scheduleJob(job, trigger);        // scheduler.shutdown();    }    public static void stop() {        try {            scheduler.shutdown();        } catch (SchedulerException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

6.传递参数
第4或5页面添加:

JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("JobName" + i, "groupName").build();job.getJobDataMap().put("name", name);

第2页面添加:

@Overridepublic void execute(JobExecutionContext arg0) throws JobExecutionException {    // TODO Auto-generated method stub    String info = arg0.getJobDetail().getJobDataMap().getString("name");    System.out.println(info);}

7.cron中的时间问题
cron 或者 crontab

8.停止

scheduler.shutdown();

9.多任务

10.监听

11.Java包下载
http://download.csdn.net/download/qq_28336351/9839624

12.源码下载
http://download.csdn.net/detail/qq_28336351/9839641

0 0
原创粉丝点击