Quartz所使用的表的说明

Quartz所使用的表的说明的完整攻略

Quartz是一个开源的作业调度框架,可以用于在Java应用程序中执行定时任务。在Quartz中,使用了多个表来存储作业和触发器的相关信息。本文将为您提供一份Quartz所使用的表的说明的完整攻略,包括表的结构、字段含义和两个示例说明。

表的结构

Quartz所使用的表的结构如下:

QRTZ_JOB_DETAILS

列名 数据类型 描述
SCHED_NAME VARCHAR(120) 调度器名称
JOB_NAME VARCHAR(200) 作业名称
JOB_GROUP VARCHAR(200) 作业组名称
DESCRIPTION VARCHAR(250) 作业描述
JOB_CLASS_NAME VARCHAR(250) 作业类名
IS_DURABLE VARCHAR(1) 是否持久化
IS_NONCONCURRENT VARCHAR(1) 是否并发执行
IS_UPDATE_DATA VARCHAR(1) 是否更新数据
REQUESTS_RECOVERY VARCHAR(1) 是否恢复

QRTZ_TRIGGERS

列名 数据类型 描述
SCHED_NAME VARCHAR(120) 调度器名称
TRIGGER_NAME VARCHAR(200) 触发器名称
TRIGGER_GROUP VARCHAR(200) 触发器组名称
JOB_NAME VARCHAR(200) 作业名称
JOB_GROUP VARCHAR(200) 作业组名称
DESCRIPTION VARCHAR(250) 触发器描述
NEXT_FIRE_TIME BIGINT 下一次触发时间
PREV_FIRE_TIME BIGINT 上一次触发时间
PRIORITY INTEGER 触发器优先级
TRIGGER_STATE VARCHAR(16) 触发器状态
TRIGGER_TYPE VARCHAR(8) 触发器类型
START_TIME BIGINT 开始时间
END_TIME BIGINT 结束时间
CALENDAR_NAME VARCHAR(200) 日历名称
MISFIRE_INSTR SMALLINT 错过触发策略

QRTZ_CRON_TRIGGERS

列名 数据类型 描述
SCHED_NAME VARCHAR(120) 调度器名称
TRIGGER_NAME VARCHAR(200) 触发器名称
TRIGGER_GROUP VARCHAR(200) 触发器组名称
CRON_EXPRESSION VARCHAR(120) Cron表达式
TIME_ZONE_ID VARCHAR(80) 时区

字段含义

Quartz所使用的表的字段含义如下:

QRTZ_JOB_DETAILS

  • SCHED_NAME:调度器名称。
  • JOB_NAME:作业名称。
  • JOB_GROUP:作业组名称。
  • DESCRIPTION:作业描述。
  • JOB_CLASS_NAME:作业类名。
  • IS_DURABLE:是否持久化。
  • IS_NONCONCURRENT:是否并发执行。
  • IS_UPDATE_DATA:是否更新数据。
  • REQUESTS_RECOVERY:是否恢复。

QRTZ_TRIGGERS

  • SCHED_NAME:调度器名称。
  • TRIGGER_NAME:触发器名称。
  • TRIGGER_GROUP:触发器组名称。
  • JOB_NAME:作业名称。
  • JOB_GROUP:作业组名称。
  • DESCRIPTION:触发器描述。
  • NEXT_FIRE_TIME:下一次触发时间。
  • PREV_FIRE_TIME:上一次触发时间。
  • PRIORITY:触发器优先级。
  • TRIGGER_STATE:触发器状态。
  • TRIGGER_TYPE:触发器类型。
  • START_TIME:开始时间。
  • END_TIME:结束时间。
  • CALENDAR_NAME:日历名称。
  • MISFIRE_INSTR:错过触发策略。

QRTZ_CRON_TRIGGERS

  • SCHED_NAME:调度器名称。
  • TRIGGER_NAME:触发器名称。
  • TRIGGER_GROUP:触发器组名称。
  • CRON_EXPRESSION:Cron表达式。
  • TIME_ZONE_ID:时区。

示例1:使用Quartz实现定时任务

在这个示例中,我们将使用Quartz实现一个定时任务。可以按照以下步骤进行操作:

  1. 创建作业类:创建一个实现Job接口的作业类。
  2. 创建触发器:创建一个触发器,设置触发时间和触发策略。
  3. 创建调度器:创建一个调度器,将作业和触发器添加到调度器中。
  4. 启动调度器:启动调度器,开始执行定时任务。
public class MyJob implements Job {
    public void execute(JobExecutionContext context) throws JobExecutionException {
        System.out.println("Hello Quartz!");
    }
}

public class QuartzTest {
    public static void main(String[] args) throws SchedulerException {
        // 创建作业
        JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("job1", "group1").build();

        // 创建触发器
        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1")
                .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?")).build();

        // 创建调度器
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        scheduler.start();
        scheduler.scheduleJob(job, trigger);
    }
}

在这个示例中,我们创建了一个作业类MyJob,实现了Job接口,并在execute方法中输出了一条信息。然后,我们创建了一个触发器,设置了触发时间和触发策略。最后,我们创建了一个调度器,将作业和触发器添加到调度器中,并启动调度器,开始执行定时任务。

示例2:使用Quartz实现分布式定时任务

在这个示例中,我们将使用Quartz实现一个分布式定时任务。可以按照以下步骤进行操作:

  1. 创建作业类:创建一个实现Job接口的作业类。
  2. 创建触发器:创建一个触发器,设置触发时间和触发策略。
  3. 创建调度器:创建一个调度器,将作业和触发器添加到调度器中。
  4. 启动调度器:启动调度器,开始执行定时任务。
public class MyJob implements Job {
    public void execute(JobExecutionContext context) throws JobExecutionException {
        System.out.println("Hello Quartz!");
    }
}

public class QuartzTest {
    public static void main(String[] args) throws SchedulerException {
        // 创建作业
        JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("job1", "group1").build();

        // 创建触发器
        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1")
                .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?")).build();

        // 创建调度器
        SchedulerFactory sf = new StdSchedulerFactory();
        Scheduler scheduler = sf.getScheduler();
        scheduler.start();
        scheduler.scheduleJob(job, trigger);
    }
}

在这个示例中,我们创建了一个作业类MyJob,实现了Job接口,并在execute方法中输出了一条信息。然后,我们创建了一个触发器,设置了触发时间和触发策略。最后,我们创建了一个调度器,将作业和触发器添加到调度器中,并启动调度器,开始执行定时任务。由于使用了分布式调度器,因此可以在多个节点上同时执行定时任务。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Quartz所使用的表的说明 - Python技术站

(0)
上一篇 2023年5月5日
下一篇 2023年5月5日

相关文章

  • 下载软件时获取真实地址的方法

    下载软件时获取真实地址的方法攻略 在下载软件时,有时候我们需要获取软件的真实地址,以确保下载的文件是可信和安全的。下面是一些获取真实地址的方法: 方法一:使用开发者官网 打开你要下载软件的开发者官网。 寻找软件的下载页面或者下载链接。 在下载页面或链接上右键点击,选择“复制链接地址”或类似选项。 将复制的链接地址粘贴到浏览器的地址栏中,然后按下回车键。 浏览…

    other 2023年8月4日
    00
  • 华为mate50开发者模式在哪?华为mate50关闭开发者模式的方法

    华为Mate50是一款功能强大的智能手机,它集成了许多方便开发人员的功能,其中包括开发者模式。本文将详细讲解华为Mate50开发者模式的位置以及如何关闭该模式。 华为Mate50开发者模式在哪 要使用华为Mate50的开发者模式,首先需要找到该模式的位置。以下是如何找到华为Mate50开发者模式的方法: 打开“设置”应用程序。 滚动到底部并找到“系统”部分。…

    other 2023年6月26日
    00
  • 使用重绘项美化WinForm的控件

    使用重绘项美化WinForm的控件的攻略需要从以下几个方面进行讲解: 什么是重绘项 如何使用重绘项 重绘项的示例说明 什么是重绘项 在WinForm中,重绘项是用于美化控件的一种技术。它主要包括两种方式:一种是使用系统颜色;另一种是使用图像替换控件的背景和边框。 如何使用重绘项 为了使用重绘项来美化WinForm控件,需要掌握以下基本步骤: 创建一个自定义控…

    other 2023年6月27日
    00
  • CSS 多类选择器一个class值可以包含一个词列表

    CSS的多类选择器是指一个元素可以拥有多个class值,而这些class值可以被同时用于一个选择器中。这种选择器称为多类选择器。 一个class值可以包含一个词列表的语法格式是:.class1.class2.class3 {…},其中class1、class2和class3是class名称,它们彼此之间用空格分隔。 以下是两个示例说明: 示例1 假设我们…

    other 2023年6月27日
    00
  • C语言单向链表的表示与实现实例详解

    C语言单向链表的表示与实现实例详解 介绍 单向链表是一种常见的数据结构,它由若干个节点构成,每个节点包含一个数据域和一个指向下一个节点的指针。单向链表通常用于需要频繁插入、删除节点的场景,如操作系统的进程调度、内存管理等。 本文将介绍C语言中单向链表的表示和实现,包括链表的定义、插入节点、删除节点等操作。 链表的定义 在C语言中,链表通常由一个结构体表示,该…

    other 2023年6月27日
    00
  • transactionscope是什么

    Transactionscope 是什么? TransactionScope 是 .NET Framework 中的一个类,用于管理事务的范围。它提供了一种简单的方法来处理跨多个资源的事务,例如数据库、消息队列和文件系统等。使用 TransactionScope 可以确保所有资源都在同一个事务中提交或回滚,从而保证数据的一致性和完整性。 Transactio…

    other 2023年5月6日
    00
  • 没有苹果开发者账号怎么办?苹果开发者账号免费注册图文教程

    下面给出完整的攻略,分为以下内容: 1. 什么是苹果开发者账号? 苹果开发者账号是苹果公司针对开发者提供的一个平台,用于开发、发布和管理应用程序。通过此账号,开发者可以下载各种苹果的开发工具、文档和SDK,以及在App Store中发布自己开发的应用程序。苹果开发者账号是有一定限制的,免费用户只能创建最多10个应用。 2. 如何注册苹果开发者账号? 苹果开发…

    other 2023年6月26日
    00
  • Python中IP地址处理IPy模块的方法

    Python中IP地址处理IPy模块的方法 IPy是一个用于处理IP地址的Python模块,它提供了一些方便的方法来解析、操作和比较IP地址。下面是使用IPy模块的详细攻略。 安装IPy模块 在开始之前,首先需要安装IPy模块。可以使用pip命令来安装: pip install IPy 导入IPy模块 在使用IPy模块之前,需要先导入它: from IPy …

    other 2023年7月30日
    00
合作推广
合作推广
分享本页
返回顶部