码迷,mamicode.com
首页 > 其他好文 > 详细

第一个Quartz程序

时间:2017-08-18 12:41:24      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:blog   esc   logs   alt   ati   star   int   pom   mave   

1 我们使用maven项目

2 创建一个job类,在execute()方法里写上业务逻辑代码。

3 在另外一个类中创建触发器,调度器,并且绑定job。

 

首先在项目的pom.xml引入需要的jar包。

     <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz-jobs</artifactId>
        <version>2.2.1</version>
      </dependency>  

创建一个job

package quartz;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class JobClass implements Job {

    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        Date date=new Date();
        SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("当前时间为:"+sf.format(date));
        // 编写业务逻辑
        System.out.println("hello Quartz");
    }

}

 再创建另外一个类

package quartz;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class SchedulerClass {
    
    public static void main(String[] args) throws SchedulerException {
        // 创建一个JobDetail实例 将该实例与JobClass绑定,JobDetail是由Builder模式来创建的,JobDetail是来绑定job的。
        // withIdentity 创建唯一的标识
        JobDetail jobDetail = JobBuilder.newJob(JobClass.class).withIdentity("job").build();
        
        // 创建一个Tigger实例,定义 job立即执行,并每隔一段时间重复执行,每隔5秒中执行一次
        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger").startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();
        
        // 创建一个Scheduler实例, Scheduler是由工厂模式来创建的 so
        SchedulerFactory factory = new StdSchedulerFactory();
        Scheduler scheduler = factory.getScheduler();
        scheduler.start();

        Date date = new Date();
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("当前时间为:" + sf.format(date));
        //调度器调用任务和触发器,scheduler将job,trigger绑定在一起。
        scheduler.scheduleJob(jobDetail, trigger);
        
        
        

    }
}

技术分享

但是这样看起来很复杂的!

第一个Quartz程序

标签:blog   esc   logs   alt   ati   star   int   pom   mave   

原文地址:http://www.cnblogs.com/hellokitty1/p/7388835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!