飞翔飞翔
主页
  • 计算机基础

    • TCP协议
  • 数据库

    • SQL教程
  • 编程语言

    • C语言
    • Python2
    • Python3
  • 数据格式

    • JSON教程
  • 工具

    • Markdown指南
  • Git

    • GitFlow
  • Quartz

    • Quartz教程
  • Java

    • Java设计模式
  • 缓存

    • Redis教程
联系
阿里云
主页
  • 计算机基础

    • TCP协议
  • 数据库

    • SQL教程
  • 编程语言

    • C语言
    • Python2
    • Python3
  • 数据格式

    • JSON教程
  • 工具

    • Markdown指南
  • Git

    • GitFlow
  • Quartz

    • Quartz教程
  • Java

    • Java设计模式
  • 缓存

    • Redis教程
联系
阿里云
  • 前言

    • 1.起步
  • 第1章 快速入门指南

    • 1.下载和安装
    • 2.配置
    • 3.运行一个简单的应用
  • 第2章 Quartz教程

    • 1.使用Quartz
    • 2.Quartz API、作业和触发器
    • 3.更多关于作业和作业详细信息
    • 4.更多关于触发器
    • 5.简单触发器
    • 6.Cron触发器
    • 7.触发器监听器和作业监听器
    • 8.调度程序监听器
    • 9.作业存储JobStore
    • 10.配置、资源使用和调度器工厂
    • 11.高级(企业)功能
    • 12.Quartz的其他特征
    • 13.专题之Corn触发器教程
  • 第3章 15个官网示例

    • 概览
    • 1.示例1 - 你的第一个Quartz程序
    • 2.示例2 - 简单触发器
    • 3.示例3 - Cron触发器
    • 4.示例4 - 作业状态和参数
    • 5.示例5 - 处理作业失误
    • 6.示例6 - 处理作业异常
    • 7.示例7 - 中断作业
    • 8.示例8 - 日历带来的乐趣
    • 9.示例9 - 作业监听器
    • 10.示例10 - 使用Quartz插件
    • 11.示例11 - 高负载下的Quartz
    • 12.示例12 - 使用RMI的远程作业调度
    • 13.示例13 - 集群化的Quartz
    • 14.示例14 - 触发器优先级
    • 15.示例15 - TC集群化的Quartz

使用Quartz

在使用调度程序之前,它需要被实例化。为此,您可以使用SchedulerFactory。Quartz的一些用户可能会将工厂的实例保存在JNDI存储中,其他用户可能会发现直接实例化和使用工厂实例同样容易(或更容易)(例如下面的示例)。

一旦调度程序被实例化,它就可以启动、置于待机模式以及关闭。请注意,一旦计划程序关闭,就不能在不重新实例化的情况下重新启动它。在调度程序启动之前,或者在它处于暂停状态时,触发器不会启动(作业不会执行)。

下面是一段简短的代码,它实例化并启动调度器,并安排作业执行:

  SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();

  Scheduler sched = schedFact.getScheduler();

  sched.start();

  //定义作业并将它绑定到我们的HelloJob.class这个类中
  JobDetail job = newJob(HelloJob.class)
      .withIdentity("myJob", "group1")
      .build();

  //设置作业每40秒运行一次
  Trigger trigger = newTrigger()
      .withIdentity("myTrigger", "group1")
      .startNow()
      .withSchedule(simpleSchedule()
          .withIntervalInSeconds(40)
          .repeatForever())
      .build();

  //通知Quartz使用我们的触发器安排该工作
  sched.scheduleJob(job, trigger);

如您所见,使用Quartz非常简单。在第2课中,我们将快速概述作业和触发器以及Quartz的API,以便您能够更全面地理解这个示例。

下一页
2.Quartz API、作业和触发器