zoukankan      html  css  js  c++  java
  • Quartz框架学习(1)—核心层次结构

    Quartz框架学习

    • Quartz(任务调度)框架的核心组件:
      1. job:任务。即任务调度行为中所要调度的对象。
      2. trigger:触发器。是什么促使了一个任务的调度?当然是时间。这也算事件驱动类型程序。
        1. 每隔多久触发一次(含时间单位);
        2. 重复多久或累计重复多少次;
      3. sheduler:谁来安排这件事。
        package quartz;
        
        import org.quartz.Job;
        import org.quartz.JobBuilder;
        import org.quartz.JobDetail;
        import org.quartz.JobExecutionContext;
        import org.quartz.JobExecutionException;
        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 FirstQuartzDemo implements Job{
        
            @Override
            public void execute(JobExecutionContext context) throws JobExecutionException {
                System.out.println("FirstQuartzDemo");
            }
            
            public static void main(String[] args) throws SchedulerException {
                /**
                 * Step1:建立Job
                 */
                JobDetail jd = JobBuilder.newJob(FirstQuartzDemo.class)
                        .withDescription("my first quartz demo")
                        .withIdentity("first").build();
                
                /**
                 * Step2:建立trigger
                 */
                Trigger trigger = TriggerBuilder.newTrigger()
                        .withSchedule(
                                SimpleScheduleBuilder
                                .simpleSchedule()
                                .withIntervalInSeconds(2)
                                .repeatForever())
                        .build();
                
                /**
                 * Step3:获取Scheduler
                 */
                StdSchedulerFactory std = new StdSchedulerFactory();
                Scheduler schdl = std.getScheduler();
                
                /**
                 * Step4:组装构件,实现逻辑
                 */
                schdl.scheduleJob(jd,trigger);
                schdl.startDelayed(5);
                
            }
        }
        View Code
    • 开发步骤:
      1. 创建Job,被执行的内容。必须有一个实现了Job接口的类作为参数,实现该接口就是为了后面调用其实现的execute()方法。和线程的run方法类似(恰巧,线程实现Runnable接口,也叫任务task);
      2. 创建trigger。时间触发了事情的执行;
      3. 创建sheduler。一定要有谁来安排这么一个事情的执行;
      4. 组装上面的三个核心组件,运行代码。
  • 相关阅读:
    js实现图片轮播(修改版1)
    动态添加内容到滚动区域
    新闻自动滚动
    多媒体对象(Media Object)
    (Py练习)判断能被几个9整除
    (Py练习)输出乘法口诀表
    (Py练习)输入某年某月判断天数
    文件名称批量修改
    续订Jetbrain学生包
    (Py练习)判断101-200之间的素数个数并输出
  • 原文地址:https://www.cnblogs.com/InformationGod/p/9471165.html
Copyright © 2011-2022 走看看