当前位置:编程学习 > html/css >>

quartz.2.1.x任务调度

quartz2.1.x多任务执行案例

1.添加jar包

[html] 
<dependency> 
            <groupId>org.quartz-scheduler</groupId> 
            <artifactId>quartz</artifactId> 
            <version>2.1.0</version> 
        </dependency> 

2.创建任务
[java] 
/**
     * 添加任务
     * @param scheduler
     * @param jobName
     * @param jobGroup
     * @param cron
     */ 
    private void addJob(Scheduler scheduler, String jobName, String jobGroup, String cron){ 
        try { 
            JobDetail jobOne = JobBuilder.newJob(GbSimpleJob.class).withIdentity(jobName, jobGroup).build(); 
            CronTrigger trgOne = TriggerBuilder.newTrigger().withIdentity(jobName, jobGroup) 
            .withSchedule(CronScheduleBuilder.cronSchedule(cron)) // [0 0/1 * * * ?]每一分钟执行一次 
            .forJob(jobName, jobGroup).build(); 
            scheduler.scheduleJob(jobOne, trgOne); 
        } catch (ParseException e) { 
            e.printStackTrace(); 
        } catch (SchedulerException e) { 
            e.printStackTrace(); 
        } 
    } 

[java] 
GbSimpleJob代码 
[java] 
<pre name="code" class="java">package com.gbsoft.quartz.gbsoft; 
 
import java.text.SimpleDateFormat; 
import java.util.Date; 
 
import org.quartz.Job; 
import org.quartz.JobExecutionContext; 
import org.quartz.JobExecutionException; 
import org.quartz.JobKey; 
 
/**
 * @description GbSimpleJob
 * @class GbSimpleJob
 * @author 不了了之
 * @date 2012-11-9
 */ 
public class GbSimpleJob implements Job { 
 
    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 
    /**
     * 执行任务
     */ 
    @Override 
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { 
        System.out.println("start job 任务开始,时间:" + sdf.format(new Date())); 
        JobKey jobKey = jobExecutionContext.getJobDetail().getKey(); 
        System.out.println("任务---名称:" + jobKey.getName() + ",分组:" + jobKey.getGroup()); 
        System.out.println("内容暂无!"); 
        System.out.println("end job"); 
    } 
 

</pre><br> 
<br> 
<pre></pre> 
<br> 
3.添加多个任务 
<p></p><pre name="code" class="java">private void one(){ 
         try { 
            Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); 
             
            addJob(scheduler, "job1", "jobGroup1", "0 0/1 * * * ?"); 
            addJob(scheduler, "job2", "jobGroup2", "0 0/2 * * * ?"); 
            scheduler.start(); 
             
            scheduler.pauseJob(new JobKey("job1","jobGroup1")); 
        } catch (SchedulerException e) { 
            e.printStackTrace(); 
        }</pre><br> 
4.测试main方法<p></p> 
<p></p><pre name="code" class="java">   /**
     * @param args
     */ 
    public static void main(String[] args) { 
        System.out.println("测试开始"); 
        SchedulerHelper test = new SchedulerHelper(); 
        test.one(); www.zzzyk.com
 
        System.out.println("测试结束"); 
    }</pre><br> 
<br> 
<p></p> 

补充:web前端 , HTML 5 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,