quartz mysql 配置_Quartz配置

article/2025/10/7 16:34:12

1. Quartz主要配置

属性名称是否必选类型默认值说明

org.quartz.scheduler.instanceName

String

QuartzScheduler

Schedule调度器的实体名字

org.quartz.scheduler.instanceId

String

NON_CLUSTERED

Schedule调度器的实体的Id,必须唯一。

1. 当你想生成intanceId的时候可以设置为AUTO

2. 当你想从系统属性org.quartz.scheduler.instanceId取值时可以设置为SYS_PROP

org.quartz.scheduler.instanceIdGenerator.class

String(类名)

org.quartz.simpl.SimpleInstanceIdGenerator

生成Schudule实体Id的类,只有在属性org.quartz.scheduler.instanceId设置为AUTO时使用,默认的实现org.quartz.scheduler.SimpleInstanceGenerator是基于主机名称和时间戳生成。其他的实现查看具体的文档

org.quartz.scheduler.threadName

String

instanceName + ‘_QuartzSchedulerThread’

Scheduler线程的名称

org.quartz.scheduler.makeSchedulerThreadDaemon

boolean

false

指定Scheduler是否以守护线程(服务)运行

org.quartz.scheduler.threadsInheritContextClassLoaderOfInitializer

boolean

false

目前不太理解

org.quartz.scheduler.idleWaitTime

long

30000

当调度程序空闲时,在重新查询可用触发器之前,调度程序将等待毫秒的时间数。不建议少于5000ms,而少于1000是不合法的参数

org.quartz.scheduler.doFailureRetryInterval

long

15000

使用JobStore(比如连接数据库)时Schueduler检测到失去数据库连接后重新尝试连接的毫秒数

org.quartz.scheduler.classLoadHelper.class

String(类名)

org.quartz.simpl.CascadingClassLoaderHelper

目前不太了解

org.quartz.scheduler.jobFactory.class

String(类名)

org.quartz.simpl.PropertySettingJobFctory

给Scheduler Context、Job、Trigger的JobDataMaps设置属性值的方式

org.quartz.contenxt.key.SOME_KEY

String

None

键值对,保存在Scheduler Context中,比如有这样的配置org.quartz.shceduler.key.MyKey=MyValue,则在Scheduler Context中赋值方式为scheduler.getContext().put(“MyKey”, “MyValue”

org.quartz.scheduler.userTransactionURL

String(url)

java:comp/UserTransaction

事务管理JNDI URL地址。只有当Quartz使用JobStoreCMT和org.quartz.scheduler.wrapJobExecutionInUserTransaction 设置为true时使用

org.quartz.scheduler.wrapJobExecutionInUserTransaction

boolean

false

只有当你在执行一个Job时想使用UserTransaction时设置为true,参考@ExecuteInJTATransaction 注解

org.quartz.scheduler.skipUpdateCheck

boolean

false

是否跳过版本检测。可以设置系统参数org.terracotta.quartz.skipUpdateCheck=true或者在JAVA命令行使用-D选项。在正式库运行时应设置为true。

org.quartz.scheduler.batchTriggerAcquisitionMaxCount

int

1

在同一时间运行Scheduler获取trigger的数量。如果设置的数量>1,并且使用JDBC JobStore,则属性org.quartz.jobStore.acquireTriggersWithinLock应设置为true,可以避破坏数据。

org.quartz.scheduler.batchTriggerAcquisitionFireAheadTimeWindow

long

0

运行Scheduler在获取和触发tigger的提前的时间。

2. 线程池配置

2.1 主要配置

属性名称是否必选类型默认值说明

org.quartz.threadPool.class

String(类名)

null

Scheduler使用的线程池名称,实现了ThreadPool接口,参考org.quartz.simpl.SimpleThreadPool

org.quartz.threadPool.threadCount

int

-1

线程池里面的线程的数据,取值在1-100

org.quartz.threadPool.threadPriority

int

Thread.NORM_PRIORITY (5)

线程的优先级,取值在Thread.MIN_PRIORITY(1)到Threa.MAX_PRIORITY(10)

2.2 线程池的简单配置

属性名称是否必选类型默认值说明

org.quartz.threadPool.makeThreadsDaemons

boolean

fale

指定在线程池里面创建的线程是否是守护线程

org.quartz.threadPool.threadsInheritGroupOfInitializingThread

boolean

true

org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread

boolean

false

org.quartz.threadPool.threadNamePrefix

String

[Scheduler Name]_Workder

指定线程池里面线程的名字的前缀

3. Listener配置

在实例化StdSchedulerFactory的时候可以注册一个全局的监听器到Scheduler中,全局监听器会监听每一个Job和Trigger的触发事件。

全局监听器必选有一个无参的构造函数,并且属性值只能是基本类型(包括String)。

配置例子:

//trigger listener配置

org.quartz.triggerListener.NAME = package.className

org.quartz.triggerListener.NAME.propName = propValue

//job listener配置

org.quartz.jobListener.NAME = package.className

org.quartz.jobListener.NAME.propName = propValue

4. JobStore配置

JobStore是Scheduler在运行时用来存储相关的信息的,比如Job, Trigger。

4.1 RAMJobStore

RAMJobStore实现类是在内存中存储信息的,程序一旦结束便丢失了相关的信息。

属性名称是否必选类型默认值说明

org.quartz.jobStore.class

String(类名)

org.quartz.simpl.RAMJobStore

指定使用的JobStore

org.quartz.jobStore.misfireThreshold

int

60000

触发器失败后下次触发的时间间隔

4.2 JDBCJobStore和JobStoreTX

JDBCJobStore和JobStoreTX都使用关系数据库来存储Schedule相关的信息。

JobStoreTX在每次执行任务后都使用commint或者rollback来提交更改。

如果在一个标准的独立应用或者在一个没有使用JTA事务管理的应用中使用Quartz,JDBCJobStore是一个不错的选择。

JobStoreTX的配置如下:

属性名称是否必选类型默认值说明

org.quartz.jobStore.class

String(类名)

org.quartz.simpl.jdbcjobstore.JobStoreTX

使用JobStoreTX

org.quartz.jobStore.driverDelegateClass

String(类名)

null

使用的数据库驱动,具体的驱动列表详情如下

org.quartz.jobStore.dataSource

String

null

使用的数据源名称,具体参照数据源配置

org.quartz.jobStore.tablePrefix

String

QRTZ_

表的前缀

org.quartz.jobStore.userProperties

boolean

false

标示在JobDataMaps的数据全部是String

org.quartz.jobStore.misfireThreshold

int

60000

触发器触发失败后再次触犯的时间间隔

org.quartz.jobStore.isClustered

boolean

false

如果有多个调度器实体的话则必须设置为true

org.quartz.jobStore.clusterCheckinInterval

long

15000

检查集群下的其他调度器实体的事件间隔

org.quartz.jobStore.maxMisfiresToHandleAtATime

int

20

org.quartz.jobStore.dontSetAutoCommintFalse

boolean

false

org.quartz.jobStore.selectWithLockSQL

String

select * from {0}locks where sched_name = {1} and lock_name = ? for update

org.quartz.jobStore.txlsolationLevelSerializable

boolean

false

org.quartz.jobStore.acquireTriggersWithinLocal

boolean

false

org.quartz.jobStore.lockHandler.class

String

null

org.quartz.jobStore.driverDelegateInitString

String

null

4.2.1 org.quartz.jobStore.driverDelegateClass数据库驱动列表

org.quartz.impl.jdbcstore.StdJDBCDelegate 适用于完全兼容JDBC的驱动

org.quartz.impl.jdbcstore.MSSQLDelegate 适用于Miscrosoft SQL Server和Sybase数据库

org.quartz.impl.jdbcjobstore.PostgreSQLDelegate

org.quartz.impl.jdbcjobstore.WebLogicDelegate

org.quartz.impl.jdbcjobstore.oracle.OracleDelegate

org.quartz.impl.jdbcjobstore.oracle.WebLogicOracleDelegate

org.quartz.impl.jdbcjobstore.oracle.weblogic.WebLogicOracleDelegate

org.quartz.impl.jdbcjobstore.CloudscapeDelegate

org.quartz.impl.jdbcjobstore.DB2v6Delegate

org.quartz.impl.jdbcjobstore.DB2v7Delegate

org.quartz.impl.jdbcjobstore.DB2v8Delegate

org.quartz.impl.jdbcjobstore.HSQLDBDelegate

org.quartz.impl.jdbcjobstore.PointbaseDelegate

org.quartz.impl.jdbcjobstore.SybaseDelegate

5. 集群,使用JDBCJobStore和JobStoreTX

在JobStore使用JDBCJobStore、JobStoreTX、JobStoreCMT的情况下可以使用Quartz的集群特性,示意图如下:

t2sYsyp.png

简单的配置如下:

//主要配置

org.quartz.scheduler.instanceName = MyClusteredScheduler

org.quartz.scheduler.instanceId = AUTO

//配置数据池连接

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool

org.quartz.threadPool.threadCount = 25

org.quartz.threadPool.treadPriority = 5

//JobStore配置

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX

org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcstore.oracle.OracleDelegate

org.quartz.jobStore.userProperties = true

org.quartz.jobStore.dataSource = myDS

org.quartz.jobStore.misfireThreshold = 60000

org.quartz.jobStore.isClustered = true

org.quartz.jobStore.clusterCheckinInterval = 20000

//DataSource数据源配置

org.quartz.dataSource.myDS.driver = oracle.jdbc.driver.OracleDriver

org.quartz.dataSource.myDS.URL = jdbc:oracle:thin:@localhost:1521:dev

org.quartz.dataSource.myDS.user = quartz

org.quartz.dataSource.myDS.password = quartz

org.quartz.dataSource.myDS.maxConnections = 5

org.quartz.dataSource.myDS.validationQuery=select 0 from dual


http://chatgpt.dhexx.cn/article/CCuxaO3c.shtml

相关文章

(AnyWhere-)安卓版“捷径”

下载 久闻酷安大名,下了酷安App,真是发现了新大陆。可以的,看上了AnyWhere-,下载试试 AnyWhere-下载地址 - 酷安 使用教程 一开始看的是这篇文章入坑的 真的不用羡慕iOS!神奇APP“AnyWhere”让安卓也能玩“捷径” …

Anywhere,一个随启随用的静态服务器

现在用webpack也很少用到这种启动服务,偶尔做个小demo还是可以用用 Anywhere是一个随启随用的静态服务器,它可以随时随地将你的当前目录变成一个静态文件服务器的根目录。 一、首先得有node 如果没有的话,直接去官网下载安装包或者用brew …

Anywhere 随启随用的静态文件服务器

1.Anywhere 随启随用的静态文件服务器 ----利用nodeJs anywhere搭建本地服务器环境一:首先去nodeJs官网下载最新版nodeJs https://nodejs.org/en/ 安装成功后winr打开cmd 输入node -help 或者node -v查看是否安装成功 二:装好后输入 npm install anywhe…

快速搭建本地WebServer环境--anywhere

方式1. Nodejs anywhere 命令快速搭建 (需要nodejs环境) ● 安装anywhere包 npm install -g anywhere ● 在目录地址栏输入cmd, 打开命令提示符窗口, 输入命令 anywhere -p 8000 ● 将会自动在浏览器打开, 或者手动输入 本机ip:8000 打开 方式2. 使用 PhpStudy 软件 下载链…

如何连接到Sybase SQL Anywhere数据库

Sybase SQL Anywhere数据库具有许多非常有用的功能,与竞争对手相比,它具有很高的竞争力。首先,它允许您处理大量数据。其次,它具有很高的生产率,也就是说,可以快速提供大量数据。第三,它需要最少的管理。最后,它几乎完全自动化地集成到自定义应用程序中,不需要支持。 …

使用cors-anywhere-master 解决VUE+AXIOS跨域问题

在VUE框架中,用AXIOS加载微信文章,遇到跨域问题! 解决方案: 1、去GITHUB下载 cors-anywhere-master GitHub - Rob--W/cors-anywhere: CORS Anywhere is a NodeJS reverse proxy which adds CORS headers to the proxied reques…

InstallAnywhere项目,安装开发解决方案

InstallAnywhere项目,安装开发解决方案 InstallAnywhere 是面向应用程序生产商的领先安装开发解决方案。它允许您为物理、虚拟和云环境提供一致、专业的多平台安装。您可以为本地平台(Windows、Linux、Apple、Solaris、AIX、HP-UX 和 IBM)创建可靠的安装。将现有的和新的软件产…

InstallAnywhere 2020 下载安装

InstallAnywhere 2020 InstallAnywhere 2020 提供专业且可靠的多平台安装 无论使用什么平台,InstallAnywhere均可使开发人员轻松创建性能相同的专业安装软件。 您将能够为Windows,Linux,Apple,Solaris,AIX&#xff0c…

Automation Anywhere视频教程

Automation Anywhere视频教程12 - 如何从CSV或文本命令读取数据1 https://www.bilibili.com/video/BV1DT4y1G7aK Automation Anywhere视频教程13 - 如何使用Excel命令(详细信息)1 https://www.bilibili.com/video/BV1of4y1U7Mv Automation Anywhere视频…

前端anywhere——前端应用启动服务

有时候我们在js里需要使用模块化,将项目打包后,用浏览器直接打开dist文件夹下的index.html会报错。 这个时候我们就可以安装一个 nodejs 的第三方模块:anywhere,以服务器方式打开项目。 全局安装 需要提前安装 nodejs npm inst…

nodejs服务器Anywhere使用

https://www.jianshu.com/p/3f0b7ea9df53 nodejs服务器Anywhere Anywhere是一个随启随用的静态服务器,它可以随时随地将你的当前目录变成一个静态文件服务器的根目录。 一,安装node 在nodejs官网下载,安装后打开cmd命令行,输入n…

InstallAnywhere 2022

InstallAnywhere 2022 增强的获取用户输入面板 - 高级- 在获取用户输入面板中添加了“如果必填字段为空则禁用下一步按钮”复选框选项,以启用/禁用通知未填写的必填字段的“下一步”按钮。 选中后,“获取用户输入”面板中的“下一步”按钮将被禁用&#…

pythonanywhere 如何创建虚拟环境?

本章教程介绍如何在pythonanywhere 上创建虚拟环境。 目录 1、打开控制台,指定python版本 2、填写你的虚拟环境路径 3、查看日志,安装依赖 1、打开控制台,指定python版本 mkvirtualenv myvirtualenv --python/usr/bin/python3.10 不指定-…

Anywhere:静态服务器的神器

Anywhere是一个静态服务器的神器,用它可以将dist文件放在本地跑,流程如下: 一:安装好了node,监测node安装是否成功 二:全局安装anywhere,npm install anywhere -g; 三、在打包好的的…

中文自动文本摘要生成指标计算,Rouge/Bleu/BertScore/QA代码实现

本部分讲述下如何计算生成摘要与参考摘要的指标,指标方面分为两类,一类基于n-grams计算,如Rouge-1,Rouge-2,Rouge-L,BLEU,主要衡量摘要的句法的连贯性,不能衡量生成摘要的真实性与忠…

相似度系列-3:传统方法ROUGE ROUGE: A Package for Automatic Evaluation of Summaries

文章目录 ROUGE: A Package for Automatic Evaluation of Summariesintroduction基础模型Rouge-NRouge_NmultiROUGE-L: Longest Common Subs equence1**Sentence-level LCS**2**Summary-Level LCS** ROUGE-W: Weighted Longest Common SubsequenceROUGE-S: Skip-Bigram Co-Occu…

评价指标BLEU,ROUGE

精确率:在预测为正的样本中,预测对的比例 召回率:在真正为正的样本中,预测对的比例 BLEU 比较候选译文和参考译文的n-gram的重合程度,unigram用于衡量单词翻译的准确度,高阶n-gram用于衡量句子翻译的流畅…

文本摘要生成评价指标——rouge

文本摘要生成评价指标——rouge rouge的作用:rouge的内容:rouge的类别:rouge的使用:rouge-N的理解:Rouge-L的理解 rouge的作用: -Rouge的全名是Recall-Oriented Understudy for GistingEvaluation&#xf…

Rouge的安装与使用

这个坑实在太深了,总结几位大佬博客,汇总了可能出现的问题。愿为后人照福吧。 步骤 1. 需要安装perl解释器(ubuntu 系统已自带, 通过perl -v可查看当前版本); 2. 需要额外安装perl解释器的XML::DOM模块以及DB_File模块,而XML::…

ROUGE评测标准

简介 ROUGE 指标的全称是 (Recall-Oriented Understudy for Gisting Evaluation),主要是基于召回率 (recall) 的。ROUGE 是一种常用的机器翻译和文章摘要评价指标。 ROUGE-N ROUGE-N 主要统计 N-gram 上的召回率 公式的分母是统计在参考译文中 N-gram 的个数&am…