Quartz所使用的表的说明

yizhihongxing

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日

相关文章

  • 聊聊DecimalFormat的用法及各符号的意义

    DecimalFormat的用法及各符号的意义 DecimalFormat是Java中用于格式化数字的类。它提供了一种简单而灵活的方式来格式化数字,并允许我们指定数字的显示方式、小数位数、千位分隔符等。下面是对DecimalFormat的用法及各符号的意义的详细讲解。 1. DecimalFormat的基本用法 首先,我们需要导入java.text.Deci…

    other 2023年8月6日
    00
  • js字符串格式化~欢迎来搂~~

    JS字符串格式化~欢迎来搂~~ 在编写JS代码时,处理字符串是一个非常常见的操作。格式化字符串在这些操作中尤其常见。例如,我们可能需要为一个字符串添加一些占位符,然后根据需要将它们替换为具体的值。JS中有几种方法可以实现字符串格式化。 基本方法:字符串拼接 其中最简单的方法可能就是字符串拼接了。例如: let name = ‘World’; let mess…

    其他 2023年3月29日
    00
  • iOS13.4Beta1怎么升级 iOS13.4 Beta1新特性与升降级全攻略

    iOS 13.4 Beta 1 升级攻略 iOS 13.4 Beta 1 是苹果公司最新发布的测试版操作系统,本攻略将详细介绍如何升级到 iOS 13.4 Beta 1,并介绍一些新特性。请按照以下步骤进行操作: 步骤一:备份数据 在升级操作系统之前,建议您先备份设备中的所有数据。这样可以确保在升级过程中不会丢失任何重要的信息。您可以通过 iTunes 或 …

    other 2023年8月3日
    00
  • 图解二叉树的三种遍历方式及java实现代码

    首先我们来了解一下二叉树这个数据结构。二叉树是一种特殊的树形结构,它由一系列节点组成,每个节点最多拥有两个子节点。其中一个节点称为父节点,其两个子节点分别称为左子节点和右子节点。二叉树的遍历指的是按照某种方式依次访问二叉树中的所有节点的过程。常见的二叉树遍历方式有三种,即前序遍历、中序遍历和后序遍历。 一、前序遍历 前序遍历指的是从二叉树的根节点开始,先遍历…

    other 2023年6月27日
    00
  • Linux下使用killall命令终止进程的8大用法实例详解

    Linux下使用killall命令终止进程的8大用法实例详解 在Linux操作系统中,经常需要终止某些进程,而killall命令则是比较常用的一种终止进程的方法。本文将详细介绍killall命令的8大用法实例,帮助用户更好地掌握killall命令的各种用法。 1. 简单的killall命令 killall命令的最基本用法就是通过指定要终止的进程名称,来结束所…

    other 2023年6月26日
    00
  • 实训23 功能FC的建立与调用

    实训23 功能FC的建立与调用 在这篇文章中,我们将学习如何在网站中建立和调用功能FC。 什么是功能FC? FC代表Function Component,是一种封装的小型代码块,可以在网站中被多次重复使用。功能FC可以帮助我们避免代码重复,提高代码的可维护性和可复用性。 建立功能FC 我们可以通过以下步骤在网站中建立功能FC: 在网站的顶层目录下新建comp…

    其他 2023年3月28日
    00
  • python playwright–pytest-playwright、pytest-base-url插件编写用例

    Python Playwright是一个Python库,用于控制Chrome、Firefox和WebKit(Safari)的自动化测试。而pytest-playwright和pytest-base-url是基于Python Playwright的两个插件,前者用于在pytest中集成Playwright测试框架,后者用于设置pytest的默认基础URL。 以…

    other 2023年6月27日
    00
  • linux rsync安装 配置 实例详解

    Linux Rsync安装 配置 完整攻略 Rsync(Remote Sync)能够让你的文件同步工作变得更简单,是一个高效的数据同步工具。本文将介绍Linux系统中Rsync的安装和配置方法。 1. 安装Rsync Rsync在大多数Linux发行版中都已经预装,如果没有安装,则可以通过以下命令来安装rsync: # Debian/Ubuntu sudo …

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