zoukankan      html  css  js  c++  java
  • 第一个Quartz程序 (二)

    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);
            
            
            
    
        }
    }

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

  • 相关阅读:
    Android中的回调Callback
    vim编辑器配置及常用命令
    自定义View 和 ViewGroup
    BluetoothClass详解
    BluetoothServerSocket详解
    NSData转换成NSDictionary
    SDWebImage缓存图片的机制(转)
    非ARC和ARC下创建单利模式的宏定义,可以直接套用
    详细例子构建自定义cell
    使用FMDB框架来加载数据库
  • 原文地址:https://www.cnblogs.com/hellokitty1/p/7388835.html
Copyright © 2011-2022 走看看