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. 组装上面的三个核心组件,运行代码。
  • 相关阅读:
    ASP.NET网页动态添加数据行
    动态生成自定义控件ascx如何给ascx传值
    读取txt文件将文本行组合成特定格式
    怎样对文本文件内的文本行排序
    动态变更Repeater控件HeaderTemplate列名
    减少代码冗余,封装你的程序
    在Repeater控件的OnItemDataBound获取数据源记录总数
    查看服务器系统资源(cpu,内容)利用率前几位的进程的方法
    Nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
    gerrit代码简单备份方案分享
  • 原文地址:https://www.cnblogs.com/InformationGod/p/9471165.html
Copyright © 2011-2022 走看看