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); }
      }
  • 开发步骤:
    1. 创建Job,被执行的内容。必须有一个实现了Job接口的类作为参数,实现该接口就是为了后面调用其实现的execute()方法。和线程的run方法类似(恰巧,线程实现Runnable接口,也叫任务task);
    2. 创建trigger。时间触发了事情的执行;
    3. 创建sheduler。一定要有谁来安排这么一个事情的执行;
    4. 组装上面的三个核心组件,运行代码。

Quartz框架学习(1)—核心层次结构的更多相关文章

  1. Beego框架学习--(核心:数据交互)

    Beego框架学习记录 1.beego简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计 ...

  2. hibernate框架学习之核心API

    ConfigurationSessionFactorySessionTransactionQueryCriteria Configuration Configuration对象用于封装Hibernat ...

  3. hibernate框架学习之核心配置文件

    hibernate.cfg.xml <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration ...

  4. 【框架学习与探究之定时器--Quartz.Net 】

    声明 本文欢迎转载,原文地址:http://www.cnblogs.com/DjlNet/p/7572174.html 前言 这里相信大部分玩家之前现在都应该有过使用定时器的时候或者需求,例如什么定时 ...

  5. Spring MVC 框架学习

    一.spirng的简介 Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情. ...

  6. Spring框架学习1

    AnonymouL 兴之所至,心之所安;尽其在我,顺其自然 新随笔 管理   Spring框架学习(一)   阅读目录 一. spring概述 核心容器: Spring 上下文: Spring AOP ...

  7. Spring.NET依赖注入框架学习--简介

    Spring.NET依赖注入框架学习--Spring.NET简介 概述 Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入. ...

  8. Quartz框架(第一版)

    任务调度 在企业级应用中,经常会制定一些"计划任务",即在某个时间点做某件事情 核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作 任务调度涉及多线程并发.线程池维 ...

  9. Spring框架学习一

    Spring框架学习,转自http://blog.csdn.net/lishuangzhe7047/article/details/20740209 Spring框架学习(一) 1.什么是Spring ...

随机推荐

  1. 【CQOI2006】凸多边形

    1713 -- [CQOI2006]凸多边形 Description 逆时针给出n个凸多边形的顶点坐标,求它们交的面积.例如n=2时,两个凸多边形如下图: 则相交部分的面积为5.233. Input ...

  2. WPF自定义控件(二)の重写原生控件样式模板

    话外篇: 要写一个圆形控件,用Clip,重写模板,去除样式引用圆形图片可以有这三种方式. 开发过程中,我们有时候用WPF原生的控件就能实现自己的需求,但是样式.风格并不能满足我们的需求,那么我们该怎么 ...

  3. [MCM] K-mean聚类与DBSCAN聚类 Python

    import matplotlib.pyplot as plt X=[56.70466067,56.70466067,56.70466067,56.70466067,56.70466067,58.03 ...

  4. BZOJ3577:玩手机(最大流,二维ST表)

    Description 现在有一堆手机放在坐标网格里面(坐标从1开始),坐标(i,j)的格子有s_(i,j)个手机. 玩手机当然需要有信号,不过这里的手机与基站与我们不太一样.基站分为两种:发送站和接 ...

  5. SpringBoot-06:SpringBoot增删改查一套完整的考试案例

    本此博客记录一套考试题,随后我把项目以及题目发到github上,简单的说一下springboot的开发 本此考试题用Spring+SpringMVC+MyBatis+SpringBoot+MySQL+ ...

  6. 第一章 mysql的体系结构与存储引擎

    数据库从逻辑上可以分为两部分,一部分负责存储即文件系统,这部分有个更时髦的名字叫存储引擎,存储引擎负责如何把数据以及索引相关的内容以合适的形式组织并存储到磁盘上.另一部分为server部分,负责和用户 ...

  7. day10--函数之形参与实参

    ''' def fn(形参们): pass fn(实参们) ''' # 形参:定义函数,在括号内声明的变量名,用来结束外界传来的值 # 实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式 ...

  8. Debian 8.9 搭建wordpress个人博客

    想自己搭个博客玩玩,就搭建了此博客,过程可谓艰辛啊! 先在阿里云买了个  轻量应用服务器 1个月10块钱,好贵.... 用 windows sever 下载不了phpstudy,也不知道怎么回事... ...

  9. git冲突Please move or remove them before you can merge

    解决Git冲突造成的Please move or remove them before you can merge git clean -d -fx ""其中x -----删除忽略 ...

  10. IntelliJ IDE 常用配置

    一. Intellij IDE 安装与破解 详细安装步骤 二.IntelliJ Maven 配置 查看: 使用IntelliJ IDEA 配置Maven(入门) 三.IntelliJ Tomcat 配 ...