李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
【转载】06.Quartz配置quartz.properties详解
Leefs
2021-08-30 AM
2206℃
0条
# 【转载】06.Quartz配置quartz.properties详解 ### 一、配置文件的位置与加载顺序 Quartz默认加载工程目录下的quartz.properties,如果工程目录下没有,就会去加载quartz.jar包下面的quartz.properties文件。 ### 二、组成部分 - 调度器属性 - 线程池属性 - 作业存储设置 - 插件配置 #### **调度器属性** `org.quartz.scheduler.instanceName`属性用来区分特定的调度器实例,可以按照功能用途来给调度器起名。 `org.quartz.scheduler.instanceId`属性和前者一样,也允许任何字符串,但这个值必须是在所有调度器实例中是惟一的,尤其是在一个集群当中,作为集群的唯一key。假如你想Quartz帮你生成这个值的话,可以设置为AUTO。与上面那个属性的区别主要是,instanceId主要是指物理上的区分,而instanceName是逻辑上的区分。 #### **线程池属性** `threadCount`属性设置Quartz工作线程数量,最小值为1,无最大值,但是最好不超过100,不然服务器性能会大大下降。 `threatPriority`属性设置线程优先级,最小值1,最大值10,一般情况下设置为5,默认值也是5。主要用在集群中设置。 `org.quartz.threadPool.class`属性设置线程池属性,可以根据自己的需求设置可伸缩的线程池,但是必须按照其规范创建接口。一般默认使用其自带的线程池属性类:`org.quartz.simpl.SimpleThreadPool` #### **作业存储设置** 描述了在调度器实例的生命周期中,Job和Trigger信息是如何被存储的。比如说:究竟是保存在内存中,还是什么数据库中等 #### 插件配置 满足特定需求用到的Quartz插件的配置 ### 三、quartz.properties配置文件的配置 ```properties # Default Properties file for use by StdSchedulerFactory # to create a Quartz Scheduler Instance, if a different # properties file is not explicitly specified. # # =========================================================================== # Configure Main Scheduler Properties 调度器属性 # =========================================================================== org.quartz.scheduler.instanceName: DefaultQuartzScheduler org.quartz.scheduler.instanceid:AUTO org.quartz.scheduler.rmi.export: false org.quartz.scheduler.rmi.proxy: false org.quartz.scheduler.wrapJobExecutionInUserTransaction: false # =========================================================================== # Configure ThreadPool 线程池属性 # =========================================================================== #线程池的实现类(一般使用SimpleThreadPool即可满足几乎所有用户的需求) org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool #指定线程数,至少为1(无默认值)(一般设置为1-100直接的整数合适) org.quartz.threadPool.threadCount: 10 #设置线程的优先级(最大为java.lang.Thread.MAX_PRIORITY 10,最小为Thread.MIN_PRIORITY 1,默认为5) org.quartz.threadPool.threadPriority: 5 #设置SimpleThreadPool的一些属性 #设置是否为守护线程 #org.quartz.threadpool.makethreadsdaemons = false #org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread: true #org.quartz.threadpool.threadsinheritgroupofinitializingthread=false #线程前缀默认值是:[Scheduler Name]_Worker #org.quartz.threadpool.threadnameprefix=swhJobThead; # 配置全局监听(TriggerListener,JobListener) 则应用程序可以接收和执行 预定的事件通知 # =========================================================================== # Configuring a Global TriggerListener 配置全局的Trigger监听器 # MyTriggerListenerClass 类必须有一个无参数的构造函数,和 属性的set方法,目前2.2.x只支持原始数据类型的值(包括字符串) # =========================================================================== #org.quartz.triggerListener.NAME.class = com.swh.MyTriggerListenerClass #org.quartz.triggerListener.NAME.propName = propValue #org.quartz.triggerListener.NAME.prop2Name = prop2Value # =========================================================================== # Configuring a Global JobListener 配置全局的Job监听器 # MyJobListenerClass 类必须有一个无参数的构造函数,和 属性的set方法,目前2.2.x只支持原始数据类型的值(包括字符串) # =========================================================================== #org.quartz.jobListener.NAME.class = com.swh.MyJobListenerClass #org.quartz.jobListener.NAME.propName = propValue #org.quartz.jobListener.NAME.prop2Name = prop2Value # =========================================================================== # Configure JobStore 存储调度信息(工作,触发器和日历等) # =========================================================================== # 信息保存时间 默认值60秒 org.quartz.jobStore.misfireThreshold: 60000 #保存job和Trigger的状态信息到内存中的类 org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore # =========================================================================== # Configure SchedulerPlugins 插件属性 配置 # =========================================================================== # 自定义插件 #org.quartz.plugin.NAME.class = com.swh.MyPluginClass #org.quartz.plugin.NAME.propName = propValue #org.quartz.plugin.NAME.prop2Name = prop2Value #配置trigger执行历史日志(可以看到类的文档和参数列表) org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger {1}.{0} fired job {6}.{5} at\: {4, date, HH\:mm\:ss MM/dd/yyyy} org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH\:mm\:ss MM/dd/yyyy} with resulting trigger instruction code\: {9} #配置job调度插件 quartz_jobs(jobs and triggers内容)的XML文档 #加载 Job 和 Trigger 信息的类 (1.8之前用:org.quartz.plugins.xml.JobInitializationPlugin) org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin #指定存放调度器(Job 和 Trigger)信息的xml文件,默认是classpath下quartz_jobs.xml org.quartz.plugin.jobInitializer.fileNames = my_quartz_job2.xml #org.quartz.plugin.jobInitializer.overWriteExistingJobs = false org.quartz.plugin.jobInitializer.failOnFileNotFound = true #自动扫描任务单并发现改动的时间间隔,单位为秒 org.quartz.plugin.jobInitializer.scanInterval = 10 #覆盖任务调度器中同名的jobDetail,避免只修改了CronExpression所造成的不能重新生效情况 org.quartz.plugin.jobInitializer.wrapInUserTransaction = false # =========================================================================== # Sample configuration of ShutdownHookPlugin ShutdownHookPlugin插件的配置样例‹ # =========================================================================== #org.quartz.plugin.shutdownhook.class = \org.quartz.plugins.management.ShutdownHookPlugin #org.quartz.plugin.shutdownhook.cleanShutdown = true # # Configure RMI Settings 远程服务调用配置 # #如果你想quartz-scheduler出口本身通过RMI作为服务器,然后设置“出口”标志true(默认值为false)。 #org.quartz.scheduler.rmi.export = false #主机上rmi注册表(默认值localhost) #org.quartz.scheduler.rmi.registryhost = localhost #注册监听端口号(默认值1099) #org.quartz.scheduler.rmi.registryport = 1099 #创建rmi注册,false/never:如果你已经有一个在运行或不想进行创建注册 # true/as_needed:第一次尝试使用现有的注册,然后再回来进行创建 # always:先进行创建一个注册,然后再使用回来使用注册 #org.quartz.scheduler.rmi.createregistry = never #Quartz Scheduler服务端端口,默认是随机分配RMI注册表 #org.quartz.scheduler.rmi.serverport = 1098 #true:链接远程服务调度(客户端),这个也要指定registryhost和registryport,默认为false # 如果export和proxy同时指定为true,则export的设置将被忽略 #org.quartz.scheduler.rmi.proxy = false ``` *附:* *原文链接地址:https://blog.csdn.net/qq_38962739/article/details/88938227*
标签:
Quartz
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/1407.html
上一篇
05.Quartz监听器
下一篇
07.SpringBoot集成Quartz实现分布式任务调度
取消回复
评论啦~
提交评论
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
48
NLP
8
标签云
Java阻塞队列
数据结构
数学
Yarn
设计模式
Elastisearch
哈希表
Golang基础
容器深入研究
国产数据库改造
JavaWEB项目搭建
Java编程思想
Spring
JVM
FastDFS
MyBatis
Linux
Zookeeper
Redis
Python
散列
Quartz
Eclipse
HDFS
BurpSuite
前端
Jquery
Scala
Filter
线程池
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞